摘要:本文以電子商務(wù)網(wǎng)站設(shè)計中物流模塊開發(fā)為實例,從需求分析、邏輯設(shè)計與模式選擇和類的設(shè)計幾個方面,具體說明設(shè)計模式的選擇和運(yùn)用方法,不僅成功的實現(xiàn)了一個全新架構(gòu)的、性能優(yōu)越的物流模塊,而且在系統(tǒng)的設(shè)計與開發(fā)中所采用的一些設(shè)計技術(shù)和方法具有很強(qiáng)的通用性,稍加改動就可以應(yīng)用到其它領(lǐng)域。
關(guān)鍵詞:電子商務(wù)網(wǎng)站;物流;設(shè)計模式
中圖分類號:F019.3 文獻(xiàn)標(biāo)識碼:A
引言
設(shè)計模式這個概念最初產(chǎn)生于建筑行業(yè)。設(shè)計師(設(shè)計建筑物而不是計算機(jī)系統(tǒng))意識到他們需要共享有關(guān)正確設(shè)計技術(shù)的想法。這些想法是在可以使設(shè)計師團(tuán)體從分享經(jīng)驗和教訓(xùn)中獲益的設(shè)計模式中形成的。設(shè)計模式在80年代后期從建筑業(yè)進(jìn)入計算機(jī)系統(tǒng)領(lǐng)域。面向?qū)ο螅∣bject-oriented,OO)原則逐漸得到普及,而設(shè)計模式成為培育新的OO追隨者的最佳實踐。[1]
本文的研究重點(diǎn)是對業(yè)務(wù)變化頻繁的業(yè)務(wù)需求,如何進(jìn)行設(shè)計模式的選擇與運(yùn)用,從而獲得其普遍規(guī)律。研究的方法可以通過以下幾個步驟:
(1)介紹設(shè)計模式的使用環(huán)境、結(jié)構(gòu)、收益與代價。
(2)以電子商務(wù)網(wǎng)站系統(tǒng)中物流模塊開發(fā)為具體例子,說明在.NET環(huán)境下業(yè)務(wù)設(shè)計過程中,設(shè)計模式的選擇與作用。
一、基于.NET環(huán)境的設(shè)計模式
.NET集成了先進(jìn)的軟件體系結(jié)構(gòu)的理念,應(yīng)該說與微軟以前推出的運(yùn)行環(huán)境和編程語言相比有革命性的變化。.NET戰(zhàn)略將Internet本身作為構(gòu)建新一代操作系統(tǒng)的基礎(chǔ),并對Internet和操作系統(tǒng)的設(shè)計思想進(jìn)行延伸,使開發(fā)人員能夠創(chuàng)建出與設(shè)備無關(guān)的應(yīng)用程序,方便的實現(xiàn)Internet應(yīng)用。.NET包括一系列覆蓋各個方面的產(chǎn)品,這些產(chǎn)品符合XML和Internet產(chǎn)業(yè)標(biāo)準(zhǔn),為用戶提供Web服務(wù)的開發(fā)、管理和應(yīng)用。
反射(Reflection)是.NET中的重要機(jī)制,通過反射,可以在運(yùn)行時獲得.NET中每一個類型(包括類、結(jié)構(gòu)、委托、接口和枚舉等)的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等、還可以獲得每個成員的名稱、限定符和參數(shù)等。 [2]
委托技術(shù)是NET引入的一種重要技術(shù),使用委托可以實現(xiàn)對象行為的動態(tài)綁定,從而提高設(shè)計的靈活性。NET運(yùn)行庫支持稱為“委托”的引用類型,其作用似于C++中的函數(shù)指針。[3] 。委托主要用于.NET Framework中的事件處理程序和回調(diào)函數(shù),NET中的委托更進(jìn)一步地降低了對象間的耦合性,將靜態(tài)的組合關(guān)系變?yōu)檫\(yùn)行時的動態(tài)組合關(guān)系。
以下將介紹電子商務(wù)網(wǎng)站中的物流。
二、電子商務(wù)網(wǎng)站中的物流
物流對電子商務(wù)的實現(xiàn)很重要,電子商務(wù)對物流的影響也肯定極為巨大,電子商務(wù)條件下商流和物流的一般流程可簡要表述如下:
(1)企業(yè)將商品信息通過網(wǎng)絡(luò)展示給客戶,客戶選擇需要購買的商品,并填寫訂單。
(2)廠方通過訂單確認(rèn)客戶,通知自己的應(yīng)用系統(tǒng)組織貨源程序。
(3)客戶通過電子結(jié)算與金融部門交互執(zhí)行資金轉(zhuǎn)移。
(4)金融部門通過電子郵件(或其它方式)通知買賣雙方資金轉(zhuǎn)移的結(jié)果。
(5)廠方組織貨物,并送達(dá)到客戶手中。
從上述電子商務(wù)的實際流程中,電子商務(wù)是集信息流、商流、資金流、物流為一身,是整個的貿(mào)易交易過程。
而電子商務(wù)下的物流系統(tǒng)就必須具備如下特征:
○1整個系統(tǒng)具有無限的開放性
○2物流節(jié)點(diǎn)普遍實行信息化管理
○3信息流在物流過程中起引導(dǎo)和整合作用
○4系統(tǒng)具有明顯的規(guī)模優(yōu)勢
由于物流系統(tǒng)必須經(jīng)常適應(yīng)需求的變化,需要經(jīng)常和數(shù)據(jù)庫打交道,外界發(fā)生的變化通常會改變物流系統(tǒng)的工作流程,因此設(shè)計物流系統(tǒng)時引入設(shè)計模式將使物流系統(tǒng)自適應(yīng)外界的變化,設(shè)計人員無需或者只要進(jìn)行少量的修改即可使系統(tǒng)正常隨需求工作。
三、設(shè)計模式在物流模塊中的選擇和應(yīng)用
電子商務(wù)網(wǎng)站中很核心的部分是物流模塊,物流模塊也是業(yè)務(wù)頻繁變更最多的,因此,有必要對物流模塊引入設(shè)計模式。本節(jié)主要從模式選擇以及類的實現(xiàn)具體來分析設(shè)計模式的作用,最后給出算法評估。
1.邏輯設(shè)計與模式選擇
如果采用.NET的委托技術(shù),電子商務(wù)網(wǎng)站物流系統(tǒng)最難設(shè)計的自定義問題可以更加靈活。采用委托技術(shù)可以進(jìn)一步實現(xiàn)用組合代替繼承的思路,很多采用繼承實現(xiàn)的關(guān)系可以采用委托實現(xiàn)。采用委托可以簡化下列設(shè)計模式的使用。[4]
(1)模板方法:這種方法采用繼承實現(xiàn)具體方法,采用委托可以動態(tài)實現(xiàn)方法的組合。
(2)觀察者:可以使用事件委托實現(xiàn)觀察者與主題之間的通信。
(3)中介者:使用委托可以去除工件與中介者之間的耦合關(guān)系。
2.類的設(shè)計
從以上的分析可以抽象出電子商務(wù)網(wǎng)站物流系統(tǒng)應(yīng)該有以下類并實現(xiàn)如下方法:
(1)商品信息類:
該類主要實現(xiàn)商品信息的添加、修改、刪除、檢索等功能。
(2)訂單信息類:
該類主要實現(xiàn)訂單的生成、訂單的修改、訂單的確認(rèn)及訂單的查詢等功能。
(3)資金類:
該類主要實現(xiàn)資金的入賬、出賬、結(jié)算、統(tǒng)計等功能。
(4)通用類:
該類主要實現(xiàn)數(shù)據(jù)庫的連接、數(shù)據(jù)庫的操作、數(shù)據(jù)表的建立、數(shù)據(jù)表的刪除等一系列的操作。
從以上的類的設(shè)計中,可以清楚的看到,物流系統(tǒng)已不直接依賴于業(yè)務(wù)流程,所有的操作都通過類來實現(xiàn)。因此,當(dāng)外界的業(yè)務(wù)發(fā)生變換時,整個物流系統(tǒng)不需要進(jìn)行很大的修改,只需對相關(guān)業(yè)務(wù)流程的類進(jìn)行微調(diào)即可。
3.算法評估:
由于專用類設(shè)計的涵蓋廣且用戶使用時可以自由選擇和配置,從而使得這套系統(tǒng)在廣度和深度上的適用性都比較好。
對大多數(shù)電子商務(wù)網(wǎng)站來說,其過程流程可以按標(biāo)準(zhǔn)來自動生成。少部分即便需要調(diào)整,那么調(diào)整的工作量也不大了。
如果由于政策等原因需要對網(wǎng)站流程做出大的調(diào)整時,只需系統(tǒng)維護(hù)定義人員對對應(yīng)流程做出相應(yīng)的調(diào)整即可,這個調(diào)整只需一次。
四、結(jié)束語
設(shè)計模式的選擇與運(yùn)用研究是一個系統(tǒng)的工程,牽涉到諸多的理論和技術(shù)。由于研究時間和研究條件的限制,論文中存在著許多有待改進(jìn)的地方。因此,在本論文工作的基礎(chǔ)上,今后可以進(jìn)一步研究的方向有:
(1)目前只能為二次開發(fā)提供了方便,以及部分自適應(yīng)的實現(xiàn)。但對系統(tǒng)完全自適應(yīng)業(yè)務(wù)變化的功能尚未實現(xiàn)。
(2)本論文中涉及到的設(shè)計模式選擇只是單純的用于獨(dú)立的“電子商務(wù)網(wǎng)站物流系統(tǒng)”中,它能解決給定業(yè)務(wù)頻繁變更問題。因此,其他業(yè)務(wù)特殊性帶來的設(shè)計模式選擇策略是今后研究的重點(diǎn)。
(3)本課題中涉及到設(shè)計模式是以.NET為環(huán)境背景的,對以其他開發(fā)語言環(huán)境下業(yè)務(wù)頻變更帶來的設(shè)計模式選擇問題,也是今后研究發(fā)展的部分。
(4)限于本人的精力、技術(shù)和時間的倉促,因此要改進(jìn)的地方比較多。還包括評價理論在系統(tǒng)中體現(xiàn)的還不夠充分,使快速準(zhǔn)確地評價一個設(shè)計模式優(yōu)劣尚不能很好地實現(xiàn)。
作者單位:無錫商業(yè)職業(yè)技術(shù)學(xué)院
參考文獻(xiàn):
[1]雷英杰,邢清華,王濤.人工智能(AI)程序設(shè)計[M].北京:清華大學(xué)出版社,2005:35-37.
[2]鐘義信.2006年人工智能國際會議論文集[D].北京:北京郵電大學(xué)出版社,2006:107-109.
[3]紐恩.Web應(yīng)用測試[M].北京:清華大學(xué)出版社,2006:22-24.
[4]拉曼(Lar