• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于領(lǐng)域驅(qū)動設(shè)計構(gòu)建企業(yè)級Web平臺的應(yīng)用

    2013-09-03 08:53:26黃光芳金義富
    實驗室研究與探索 2013年8期
    關(guān)鍵詞:結(jié)構(gòu)層訂單架構(gòu)

    黃光芳, 金義富

    (湛江師范學院 a.信息與教育技術(shù)中心;b.科技處,廣東湛江524048)

    0 引言

    現(xiàn)代信息化高速發(fā)展的今天,越來越多的應(yīng)用系統(tǒng)都被構(gòu)建在Web之上,關(guān)于它的開發(fā)也經(jīng)歷了面向過程、面向?qū)ο蟆⒚嫦蚍?wù)架構(gòu)(SOA)等開發(fā)過程,其復(fù)雜性也越來越高,使用的技術(shù)平臺有Java、.NET、Ruby等,目前基于Web的多層架構(gòu)體系(如 J2EE、ASP.NET)已經(jīng)成為解決企業(yè)級應(yīng)用的主要途徑。因此,如何在軟件中更好地處理業(yè)務(wù)邏輯,且高質(zhì)量高效率地完成軟件的開發(fā)便成為人們?nèi)找嬷匾暤膯栴}。但是長期以來,傳統(tǒng)的Web平臺開發(fā)工作趨向于一種以技術(shù)為先導的開發(fā)方式,開發(fā)的過程即先從業(yè)務(wù)方面分析企業(yè)需求,然后把需求傳達給開發(fā)團隊,開發(fā)人員再依據(jù)需求的描述創(chuàng)造出最有可能的設(shè)想進行開發(fā)[1]。這些軟件開發(fā)的指導原則依然是基于數(shù)據(jù)庫設(shè)計而非面向?qū)ο笤O(shè)計,即開發(fā)人員一開始便根據(jù)需求建立數(shù)據(jù)庫模型,系統(tǒng)中的業(yè)務(wù)對象被機械化的數(shù)據(jù)庫CRUD操作代替,忽略面向?qū)ο蟮拈_發(fā)思想,缺少領(lǐng)域模型的開發(fā),業(yè)務(wù)邏輯設(shè)計混亂,不能及時有效地反映用戶需求,開發(fā)的系統(tǒng)缺少通用性和科學性等。針對以上開發(fā)方法的不足,文中將領(lǐng)域驅(qū)動設(shè)計的開發(fā)思想融入到業(yè)務(wù)邏輯復(fù)雜的Web平臺的構(gòu)建中,力求尋找一種更佳的企業(yè)級Web平臺的開發(fā)方案。

    1 領(lǐng)域驅(qū)動設(shè)計的分層架構(gòu)和優(yōu)勢

    領(lǐng)域驅(qū)動設(shè)計(Domain-Driven Design,DDD)是領(lǐng)域驅(qū)動設(shè)計大師Eric Evans在2004年發(fā)表的文獻[1]中提出的軟件開發(fā)概念,是一種基于模型驅(qū)動開發(fā)(MDD)思想的嶄新的開發(fā)方式,目的是讓軟件系統(tǒng)在實現(xiàn)時準確的基于對真實業(yè)務(wù)過程的建模并根據(jù)真實業(yè)務(wù)過程的調(diào)整而調(diào)整。

    1.1 分層架構(gòu)與職責劃分

    領(lǐng)域驅(qū)動設(shè)計很好地遵循了關(guān)注點分離的原則,提出了成熟、清晰的分層架構(gòu),對領(lǐng)域?qū)ο筮M行了明確的策略和職責劃分,讓領(lǐng)域?qū)ο蠛同F(xiàn)實世界中的業(yè)務(wù)形成良好的映射關(guān)系,為領(lǐng)域?qū)<遗c開發(fā)人員搭建了溝通的橋梁。領(lǐng)域模型分為用戶界面層、應(yīng)用層、領(lǐng)域?qū)雍突A(chǔ)結(jié)構(gòu)層四層,如圖1所示。

    圖1 領(lǐng)域驅(qū)動設(shè)計的分層架構(gòu)

    用戶界面層。主要負責向用戶呈現(xiàn)信息、接受并解釋用戶命令,并把用戶的請求發(fā)送到應(yīng)用層或領(lǐng)域?qū)印?/p>

    應(yīng)用層。定義了系統(tǒng)要完成的工作,不包含業(yè)務(wù)邏輯的實現(xiàn),只保留任務(wù)的進度狀態(tài)。

    領(lǐng)域?qū)?。系統(tǒng)的核心,負責系統(tǒng)業(yè)務(wù)邏輯的實現(xiàn)工作,包含領(lǐng)域行為和模型。

    基礎(chǔ)結(jié)構(gòu)層。為上層提供通用的技術(shù)能力,持久化業(yè)務(wù)對象以及實現(xiàn)應(yīng)用層的管理等。

    領(lǐng)域驅(qū)動設(shè)計除了對系統(tǒng)架構(gòu)進行了分層描述外,還對對象(Object)做了明確的職責和策略劃分,劃分的對象有實體、值對象、工廠、倉儲、服務(wù)、聚合等。

    實體(Entities)。具備唯一ID,能夠被持久化,具備業(yè)務(wù)邏輯,對應(yīng)現(xiàn)實世界業(yè)務(wù)對象。

    值對象(Value objects)。不具有唯一ID,由對象的屬性描述,一般為內(nèi)存中的臨時對象,可以用來傳遞參數(shù)或?qū)嶓w進行補充描述。

    工廠(Factories)。主要用來創(chuàng)建實體,目前架構(gòu)實踐中一般采用IOC容器來實現(xiàn)工廠的功能。

    倉儲(Repositories)。用來管理實體的集合,封裝持久化框架。

    服務(wù)(Services)。為上層建筑提供可操作的接口,負責對領(lǐng)域?qū)ο筮M行調(diào)度和封裝,同時可以對外提供各種形式的服務(wù)。

    聚合(Aggregate)。主要將復(fù)雜領(lǐng)域中關(guān)系密切的多個實體的合并在一起,以降低領(lǐng)域的復(fù)雜性。聚合內(nèi)實體可以相互引用,兩個聚合之間的實體必須通過聚合根才能引用。

    1.2 領(lǐng)域驅(qū)動設(shè)計開發(fā)優(yōu)勢

    領(lǐng)域驅(qū)動設(shè)計的專注點在于領(lǐng)域模型的研究,因為在領(lǐng)域驅(qū)動設(shè)計中,它是以模型驅(qū)動設(shè)計為根基,以軟件領(lǐng)域為著眼點,專注于領(lǐng)域模型的構(gòu)建與代碼匹配,并將模型作為領(lǐng)域?qū)<液蛙浖_發(fā)人員交流的一種開發(fā)方式[3]。相對于以往的數(shù)據(jù)庫驅(qū)動的設(shè)計方式,這種新開發(fā)方式具有以下優(yōu)勢:

    (1)復(fù)用。在領(lǐng)域驅(qū)動設(shè)計中,領(lǐng)域?qū)ο笫呛诵模總€領(lǐng)域?qū)ο蠖际且粋€相對完整的內(nèi)聚的業(yè)務(wù)對象描述,所以可以形成直接的復(fù)用。同時設(shè)計過程是基于領(lǐng)域?qū)ο蠖皇腔跀?shù)據(jù)庫的Schema,所以整個設(shè)計也是可以復(fù)用。

    (2)注重實踐。專注于具體場景的應(yīng)用,領(lǐng)域?qū)<摇㈤_發(fā)人員及用戶使用模型元素之間的交互來理清系統(tǒng)中的業(yè)務(wù)邏輯,且按模型允許方式將各種概念結(jié)合在一起,然后將這些應(yīng)用到圖和代碼中,消除了開發(fā)中思想的隔膜,保證領(lǐng)域模型與系統(tǒng)業(yè)務(wù)相對應(yīng)。

    (3)重構(gòu)。領(lǐng)域驅(qū)動設(shè)計采用面對對象的設(shè)計,使領(lǐng)域模型在設(shè)計中隨時響應(yīng)用戶提出新的軟件需求,根據(jù)業(yè)務(wù)邏輯向更深層次重構(gòu)。

    2 Web平臺的領(lǐng)域模型設(shè)計

    這里以一個業(yè)務(wù)邏輯稍為簡單的網(wǎng)上書店的電子商務(wù)平臺來闡述領(lǐng)域驅(qū)動設(shè)計在Web平臺中應(yīng)用情況。該系統(tǒng)實現(xiàn)網(wǎng)上書店的常用功能:包括瀏覽書籍、挑選書籍、提交訂單、查看訂單、自動折扣、處理訂單、取消訂單等。未登錄用戶可以瀏覽和挑選書籍;已登錄用戶可以提交和查看自己相關(guān)的訂單;管理員可以處理訂單。結(jié)合書店的業(yè)務(wù)場景,抽象出以下一些領(lǐng)域?qū)ο?,如訂單、賬戶、書籍、購物車、購物項、折扣等,現(xiàn)實業(yè)務(wù)和領(lǐng)域?qū)ο蟮膶?yīng)關(guān)系為:訂單—Order,賬戶—Account,書籍—Book,購物車—Cart,購物項—Item,折扣—Discount。通過對場景及業(yè)務(wù)邏輯的分析和設(shè)計,得到的領(lǐng)域模型如圖2所示。

    圖2 網(wǎng)上書店業(yè)務(wù)邏輯圖

    在圖2中,首先BookStoreAction負責處理表示層的請求,并把請求轉(zhuǎn)發(fā)給業(yè)務(wù)服務(wù)IBookStoreBS,業(yè)務(wù)服務(wù)負責調(diào)度上圖中顯示的領(lǐng)域?qū)ο?,處理該場景的所有業(yè)務(wù)。從圖中我們還可以清晰地看到各個領(lǐng)域?qū)ο笾g的關(guān)系。Order和Cart都聚合了Item,都是聚合根,對應(yīng)都是1…n,Item聚合了Book,Item是一個聚合根,Book是一個實體,對應(yīng)關(guān)系1…n,Order分別與折扣、賬戶發(fā)生關(guān)聯(lián)和調(diào)用等,整個網(wǎng)上書店的場景就這樣描述出來了。

    與事務(wù)腳本的編程模式不同,領(lǐng)域驅(qū)動設(shè)計不是把業(yè)務(wù)邏輯放在業(yè)務(wù)服務(wù)(Business Service)層中,而是由具備屬性、行為和狀態(tài)的領(lǐng)域?qū)ο筇幚?。例如Order類,如果是貧血的POJO,那它內(nèi)部只有與數(shù)據(jù)表字段對應(yīng)的屬性以及getter和setter方法,而在領(lǐng)域驅(qū)動設(shè)計中,則是一個相對獨立的、能夠處理自身關(guān)聯(lián)業(yè)務(wù)的領(lǐng)域?qū)ο?。如在本系統(tǒng)中,訂單類中除了聯(lián)系方式、郵寄地址等基本屬性外,還有以下領(lǐng)域相關(guān)的行為:

    (1)init(·),結(jié)算時調(diào)用方法,根據(jù)當前用戶與購物車中的Items初始化訂單,供用戶修改。

    (2)submit(·),提交訂單時調(diào)用的方法,保存訂單。

    (3)cancel(·),取消訂單,把訂單和相關(guān)item的狀態(tài)設(shè)置為“已取消”,然后委托基礎(chǔ)結(jié)構(gòu)層進行持久化。

    (4)dispose(·),處理訂單,首先更新訂單項的狀態(tài),然后委托基礎(chǔ)結(jié)構(gòu)層持久化訂單數(shù)據(jù)。

    ……

    通過以上的描述,我們可以看到,Order類基本上覆蓋了現(xiàn)實世界中訂單這個業(yè)務(wù)的所有行為和狀態(tài),是相對內(nèi)聚的,這樣的特性使其復(fù)用性大大增加,即使未來開發(fā)新的模塊,涉及到訂單業(yè)務(wù)的,可以直接復(fù)用Order類,同時在后期維護中,如果想了解訂單的業(yè)務(wù),直接讀Order的代碼就可以了。

    3 基于領(lǐng)域驅(qū)動設(shè)計的Web平臺的實現(xiàn)

    在項目開發(fā)中,良好的框架設(shè)計可以有效地提高工作效率,縮短開發(fā)時間、降低開發(fā)成本,增強程序的可維護性和可擴展性。根據(jù)領(lǐng)域模型的特點,在具體的項目開發(fā)中,運用分層架構(gòu)和.NET提供的實體框架[4],對一些相關(guān)的類和框架進行抽象設(shè)計,設(shè)計了一些通用模塊,如層超類、接口、倉儲框架、倉儲工廠、倉儲基類和工作單元等,為將來構(gòu)建一個大型的網(wǎng)上書店的設(shè)計與實現(xiàn)打下基礎(chǔ),而且,項目的一些通用模塊與具體的實現(xiàn)細節(jié)無關(guān),即可以直接應(yīng)用到其他系統(tǒng)的設(shè)計中,提高開發(fā)效率。

    3.1 層超類[5]設(shè)計

    當某一層中所有的對象都具有某些方法,同時為了避免這些方法在系統(tǒng)內(nèi)被多次復(fù)制而產(chǎn)生冗余時,便將這些行為移到一個通用的類中,這個類就是層超類型(Layer Supertype),然后其他接口都被重構(gòu)[6]到這一超類中。在網(wǎng)上書店的系統(tǒng)框架中,設(shè)計一個EntityBase的抽象類作為基礎(chǔ)結(jié)構(gòu)層的層超類型,領(lǐng)域模型中的所有實體類都繼承它的標識Key。

    層超類的分別包含一個缺省的構(gòu)造器和一個重載構(gòu)造器,重載構(gòu)造器允許傳入一個只讀屬性的Key,考慮到不同的實體標識類型不一致,所以這里的Key的類型是System.Object,體現(xiàn)了超類設(shè)計的靈活性。

    3.2 倉儲框架設(shè)計

    倉儲是領(lǐng)域?qū)优c基礎(chǔ)結(jié)構(gòu)層的一個銜接組件,領(lǐng)域?qū)油ㄟ^倉儲訪問外部存儲機制,這樣就使得領(lǐng)域?qū)訜o需關(guān)心任何技術(shù)架構(gòu)上的實現(xiàn)細節(jié)。因此,倉儲這個角色的職責不僅僅是讀取、保存、查詢、刪除,它還解耦了領(lǐng)域?qū)优c基礎(chǔ)結(jié)構(gòu)層,將繁雜的數(shù)據(jù)庫操作從領(lǐng)域?qū)又薪夥懦鰜恚归_發(fā)人員更好地專注于領(lǐng)域?qū)拥脑O(shè)計。在實踐中,可以使用依賴注入[7]的方式,將倉儲實例注入到領(lǐng)域?qū)樱瑥亩@得靈活的體系結(jié)構(gòu),如圖3所示。

    在本系統(tǒng)中,IRepository(倉儲接口)是一個泛型接 口[8],泛 型 類 型 被 where 子 句 限 定 為EntityFramework中的EntityBase,該接口使用泛型,方便被其他特定的聚合類型的倉儲繼承后使用,定義方式見如下代碼所示:

    為了消除大量重復(fù)的代碼,倉儲框架將在倉儲接口的基礎(chǔ)上添加了抽象的倉儲基類RepositoryBase,該基類實現(xiàn)了IRepository<T>,從而方便系統(tǒng)中具體倉儲類的重構(gòu)。SqlRepositoryBase<T>基類實現(xiàn)了RepositoryBase<T>類,是專門針對SQL Server數(shù)據(jù)庫讀取和寫入數(shù)據(jù)的通用的基類,它可以減少大量具體倉儲中的重復(fù)代碼。具體如圖4所示。

    圖3 基礎(chǔ)結(jié)構(gòu)層將倉儲實現(xiàn)注入領(lǐng)域?qū)?/p>

    圖4 倉儲框架的構(gòu)建模式

    在具體業(yè)務(wù)的實現(xiàn)中,倉儲作為領(lǐng)域模型的一部分,領(lǐng)域模型依賴于倉儲的抽象,倉儲提供一套方法將聚合從持久層中提取出來,包括一系列的查詢,保存根的方法,以及從根開始訪問聚合內(nèi)其他領(lǐng)域模型的方法。如在Order(訂單)聚合根中,具體實現(xiàn)倉儲為Order,該倉儲繼承了 IOrder接口和 SqlRepositoryBase抽象類,SqlRepositoryBase繼承了倉儲框架中的RepositoryBase類。為了方便倉儲類重構(gòu),系統(tǒng)在初始的框架RepositoryBase基類中添加了一些常用的方法如 Add、Edit、Delete、FindBy、FindAll 等,然 在SqlRepositoryBase基類中覆蓋該方法,于是在具體的倉儲實現(xiàn)類Order中便可以直接調(diào)用這些方法而不需要再次實現(xiàn),當然,如果實現(xiàn)的功能稍有差導,也可以重寫該方法。同理,其他實現(xiàn)類如Account(賬戶),Book(書籍),Cart(購物車)都可以像Order類那樣創(chuàng)建倉儲并繼承倉儲基類和層超類,這樣整個系統(tǒng)便提高了代碼利用率,同時也方便系統(tǒng)向更深層次模型重構(gòu),以獲取更合理的實現(xiàn)方式,確保系統(tǒng)在開發(fā)中有更好的可維護性和可擴展性。

    3.3 倉儲工廠

    工廠模式[9](Factory)實際就是在處理復(fù)雜的對象創(chuàng)建時,將對象創(chuàng)建的職責交給第三方來完成,從而降低對象創(chuàng)建的復(fù)雜度,增加系統(tǒng)的可靠性。這里本系統(tǒng)使用分離接口模式(Separated Interface)創(chuàng)建倉儲工廠實例。在基礎(chǔ)結(jié)構(gòu)層中共設(shè)計了四個配置類來創(chuàng)建倉儲的映射。通過讀取配置節(jié)設(shè)置,并復(fù)制到一個良好的對象模型中,倉儲工廠類便可以利用這個對象模型創(chuàng)建倉儲。工廠類首先使用反射[10]來取得接口類型的名稱,然后查找基于映射配置中的將要創(chuàng)建的倉儲類型,如沒有,則使用Activator對象的反射能力創(chuàng)建一個正確的倉儲工廠實例,并將其放到靜態(tài)詞典中以供下次檢索,從而避免系統(tǒng)頻繁構(gòu)建倉儲,節(jié)省系統(tǒng)開銷。

    3.4 工作單元(UoW)設(shè)計

    Unit of Work(UoW)模式在企業(yè)應(yīng)用架構(gòu)中被廣泛使用,它能夠?qū)㈩I(lǐng)域模型中對象狀態(tài)的變化收集起來,并在適當?shù)臅r候在同一數(shù)據(jù)庫連接和事務(wù)處理上下文中一次性將對象的變更提交到數(shù)據(jù)庫中,減少與數(shù)據(jù)庫交互次數(shù),提高系統(tǒng)性能[11]。在系統(tǒng)基礎(chǔ)結(jié)構(gòu)層中設(shè)計了一個工作單元接口IUoW,用于標識已經(jīng)添加、更改或移除的實體,UoW類實現(xiàn)IUoW接口,UoW類分別遍歷所有刪除、添加和更改的注冊信息,整個操作被包裝進一個事務(wù),僅調(diào)用接口的Commit方法就可以將所有的更改提交到數(shù)據(jù)庫中,保證了數(shù)據(jù)的一致性。UoW類引用了IUnitOfWorkRespository接口,這個接口被倉儲中的RepositoryBase基類實現(xiàn),于是工作單元的實現(xiàn)便回調(diào)到倉儲里實現(xiàn)。

    3.5 應(yīng)用服務(wù)層設(shè)計

    應(yīng)用服務(wù)層位于分層架構(gòu)中的第二層,它不負責處理任何業(yè)務(wù)邏輯,主要是協(xié)調(diào)其他層的數(shù)據(jù)傳輸、工廠調(diào)用或?qū)ο蟀l(fā)送等,為業(yè)務(wù)邏輯的正確執(zhí)行提供適當?shù)倪\行環(huán)境。在應(yīng)用服務(wù)層,采用了微軟的窗口通信基礎(chǔ)[12](Windows Communication Foundation,WCF)技術(shù)為系統(tǒng)的上下層提供數(shù)據(jù)通信。WCF使用SOAP通信機制[13],保證了系統(tǒng)之間的互操作性,即使是運行不同開發(fā)語言,也可以跨進程、跨機器甚至于跨平臺的通信,同時可以提供高效且安全性的訪問。WCF在數(shù)據(jù)傳輸中使用數(shù)據(jù)合約(Data Contract)來訂定雙方溝通時的數(shù)據(jù)格式,如涉及到訂單處理的部分,應(yīng)用層僅僅是協(xié)調(diào)倉儲操作和事務(wù)處理,業(yè)務(wù)邏輯由Order的倉儲方法實現(xiàn)。對于部分不屬于單獨的對象、不能輕易地合并到某個實體和值對象的操作或者涉及到幾個場景實體的業(yè)務(wù)邏輯,這種行為一般放在服務(wù)層,聲明為服務(wù),設(shè)計好后供表示層直接調(diào)用,簡化了對領(lǐng)域模型的設(shè)計,使領(lǐng)域模型更純凈。如在管理員處理訂單這個場景中,首先需要根據(jù)訂單信息獲取賬戶,根據(jù)賬戶信息確定折扣率,同時進行余額校驗,如果校驗通過,就會調(diào)用訂單對象的dispose方法處理訂單,這個場景會涉及到 Order、Account、Discount等對象,這樣的業(yè)務(wù)邏輯,則聲明為一種服務(wù),在應(yīng)用層實現(xiàn)。

    4 結(jié)語

    對于領(lǐng)域驅(qū)動設(shè)計,最核心的就是如何解決復(fù)雜業(yè)務(wù)的設(shè)計問題,如何抓住業(yè)務(wù)邏輯的本質(zhì),并轉(zhuǎn)換成業(yè)務(wù)邏輯模型。領(lǐng)域驅(qū)動設(shè)計良好的支撐框架和富有彈性的需求分析過程,已經(jīng)得到許多企業(yè)的認可,并且它不依附于哪一個特定的平臺,這就為廣大開發(fā)者提供更有彈性的開發(fā)空間,更有利領(lǐng)域驅(qū)動設(shè)計的思想融入各個領(lǐng)域Web平臺中,加快這方面的研究和應(yīng)用。目前已經(jīng)有許多開發(fā)人員嘗試著應(yīng)用到石油、航海[14]、物流[15]及信息系統(tǒng)等項目中,隨著軟件市場的進一步成熟和客戶需求的不斷提高,相信這是一個切實可行且具有很好應(yīng)用前景的開發(fā)方法。

    [1] 宋 波,趙永翼,張 悅,等.一種規(guī)范Web開發(fā)框架的研究與實現(xiàn)[J].微電子學與計算機,2007(7):201-208.

    [2] Eric Evan.領(lǐng)域驅(qū)動設(shè)計-軟件核心復(fù)雜性應(yīng)對之道[M].陳大峰,張澤鑫譯.北京:清華大學出版社,2006.

    [3] 嚴欣品.領(lǐng)域驅(qū)動設(shè)計方法的研究及其應(yīng)用[D].南昌:南昌大學,2010.

    [4] 雷 蕾,陸新泉,李 睿,等.應(yīng)用_NET框架命名空間技術(shù)實現(xiàn)Web測試自動化[J].計算機應(yīng)用研究,2010,27(6):.

    [5] Tim Macarthy.領(lǐng)域驅(qū)動設(shè)計C#2008實現(xiàn)[M].UMLChina譯.北京:清華大學出版社,2010.

    [6] 科瑞夫斯蓋.重構(gòu)與模式[M].楊 光,劉基誠譯.北京:人民郵電出版社,2006.

    [7] 張 浩.利用反向控制原則和依賴注入的可復(fù)用框架設(shè)計解耦方法[J].計算機應(yīng)用,2010,30(12):227-229.

    [8] 陳葉旺,余金山.泛型編程與設(shè)計模式[J].計算機科學,2006,33(4):253-257.

    [9] 彭世康,周逢權(quán).新的設(shè)計模式——數(shù)組工廠和數(shù)組原型模式[J].計算機應(yīng)用,2012,32(S2):107-112.

    [10] 吳東慶,胡小健,楊逢建.反射機制下類工廠模式的實現(xiàn)與研究[J].計算機應(yīng)用,2006,26(3):705-707.

    [11] Martin Fowler.企業(yè)應(yīng)用架構(gòu)模式[M].王懷民,周斌譯.北京:機械工作出版社,2004.

    [12] 劉黎志,吳云韜.應(yīng)用WCF分布式框架實現(xiàn)移動數(shù)據(jù)同步[J].計算機應(yīng)用,2011,12(31):3281-3284.

    [13] 劉嘉?。赟OA架構(gòu)的ERP與電子商務(wù)系統(tǒng)研究[J].企業(yè)經(jīng)濟,2011(5):88-90.

    [14] 張金松.領(lǐng)域驅(qū)動設(shè)計在航務(wù)海事系統(tǒng)中的應(yīng)用研究[D].大連:大連海事大學,2010.

    [15] 丁 濤.基于領(lǐng)域驅(qū)動設(shè)計的物流平臺系統(tǒng)實現(xiàn)[D].成都:電子科技大學,2010.

    猜你喜歡
    結(jié)構(gòu)層訂單架構(gòu)
    基于FPGA的RNN硬件加速架構(gòu)
    春節(jié)期間“訂單蔬菜”走俏
    新產(chǎn)品訂單紛至沓來
    功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
    汽車工程(2021年12期)2021-03-08 02:34:30
    道路結(jié)構(gòu)層整體抬高加固方案在S20大修工程中的應(yīng)用和研究
    上海公路(2019年2期)2019-10-08 09:05:32
    “最確切”的幸福觀感——我們的致富訂單
    當代陜西(2018年9期)2018-08-29 01:20:56
    基于疲勞壽命的高模量材料結(jié)構(gòu)層適用性研究
    上海公路(2017年1期)2017-07-21 13:38:33
    LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
    電信科學(2017年6期)2017-07-01 15:45:17
    防排水結(jié)構(gòu)層對鐵路基床動力響應(yīng)的影響研究
    瀝青路面結(jié)構(gòu)層參數(shù)對路表彎沉盆影響分析
    啦啦啦啦在线视频资源| 国产视频首页在线观看| 免费观看的影片在线观看| 亚洲精品中文字幕在线视频| 欧美激情 高清一区二区三区| 久久99一区二区三区| 国产成人91sexporn| 日本爱情动作片www.在线观看| 亚洲欧美日韩另类电影网站| 国产av一区二区精品久久| 狠狠婷婷综合久久久久久88av| 免费观看a级毛片全部| 国产视频首页在线观看| 性色av一级| 亚洲人成网站在线观看播放| 人妻夜夜爽99麻豆av| 成人国产av品久久久| 曰老女人黄片| 久久精品国产亚洲网站| 午夜免费观看性视频| 免费观看av网站的网址| 爱豆传媒免费全集在线观看| 国产片特级美女逼逼视频| 91成人精品电影| 成人亚洲精品一区在线观看| 女人精品久久久久毛片| 亚洲欧美清纯卡通| 新久久久久国产一级毛片| 女性生殖器流出的白浆| 亚洲国产精品专区欧美| 国语对白做爰xxxⅹ性视频网站| 国产爽快片一区二区三区| 国产成人freesex在线| 日本与韩国留学比较| 激情五月婷婷亚洲| 久久精品国产亚洲网站| 看免费成人av毛片| 日韩制服骚丝袜av| 高清欧美精品videossex| 极品少妇高潮喷水抽搐| 国产成人精品久久久久久| 亚洲美女视频黄频| 国模一区二区三区四区视频| av黄色大香蕉| 五月开心婷婷网| 人体艺术视频欧美日本| 自拍欧美九色日韩亚洲蝌蚪91| 性色avwww在线观看| 久久精品国产a三级三级三级| 亚洲中文av在线| 观看av在线不卡| 黄色怎么调成土黄色| 欧美丝袜亚洲另类| 国产白丝娇喘喷水9色精品| 欧美bdsm另类| 一区二区三区乱码不卡18| 日日啪夜夜爽| 老司机影院毛片| 亚洲怡红院男人天堂| 国产成人免费无遮挡视频| 香蕉精品网在线| 在线精品无人区一区二区三| 视频区图区小说| 久久国产亚洲av麻豆专区| 国产精品蜜桃在线观看| 成人亚洲精品一区在线观看| 国产精品人妻久久久影院| 99久久精品国产国产毛片| 少妇精品久久久久久久| 成人毛片60女人毛片免费| 一级片'在线观看视频| 成年人午夜在线观看视频| 亚洲第一av免费看| 久久人妻熟女aⅴ| 大码成人一级视频| 国内精品宾馆在线| 大又大粗又爽又黄少妇毛片口| 国产精品久久久久久久电影| 亚洲精品色激情综合| 亚洲四区av| 亚洲欧美色中文字幕在线| 国产免费福利视频在线观看| 丰满乱子伦码专区| 如何舔出高潮| 全区人妻精品视频| a级毛片免费高清观看在线播放| 丝袜脚勾引网站| 一区二区日韩欧美中文字幕 | 人成视频在线观看免费观看| 久久午夜综合久久蜜桃| 欧美 日韩 精品 国产| 久久久久久久久久久免费av| 国产男人的电影天堂91| 国产精品99久久99久久久不卡 | 国产亚洲午夜精品一区二区久久| 亚洲精品第二区| 狠狠精品人妻久久久久久综合| 一级毛片aaaaaa免费看小| 国产在线免费精品| 在线观看免费日韩欧美大片 | 大陆偷拍与自拍| 国产成人免费观看mmmm| 国产精品99久久99久久久不卡 | 久久99热这里只频精品6学生| 国产精品久久久久久久久免| 日韩熟女老妇一区二区性免费视频| 视频区图区小说| 精品卡一卡二卡四卡免费| 国产在线一区二区三区精| 99精国产麻豆久久婷婷| 精品午夜福利在线看| 曰老女人黄片| 十八禁网站网址无遮挡| 精品久久久久久久久亚洲| 卡戴珊不雅视频在线播放| 亚洲精品一区蜜桃| 成人亚洲欧美一区二区av| 亚洲av男天堂| 亚洲国产精品成人久久小说| 99re6热这里在线精品视频| 少妇被粗大猛烈的视频| 日本欧美国产在线视频| 欧美+日韩+精品| 少妇被粗大猛烈的视频| 日韩亚洲欧美综合| 日日摸夜夜添夜夜添av毛片| 九九久久精品国产亚洲av麻豆| 国产精品久久久久成人av| 秋霞伦理黄片| 日本午夜av视频| 国产精品久久久久久av不卡| 欧美97在线视频| 亚洲一区二区三区欧美精品| 午夜福利视频精品| 国产精品麻豆人妻色哟哟久久| 亚洲av日韩在线播放| 97在线视频观看| 国产69精品久久久久777片| 黄色配什么色好看| 在线观看三级黄色| 91精品国产九色| 亚洲av二区三区四区| 亚洲一级一片aⅴ在线观看| a 毛片基地| 99re6热这里在线精品视频| 亚洲av成人精品一二三区| 免费观看的影片在线观看| 99久久精品一区二区三区| 免费人妻精品一区二区三区视频| av国产久精品久网站免费入址| 免费少妇av软件| 亚洲av国产av综合av卡| 好男人视频免费观看在线| 亚洲欧美色中文字幕在线| 亚洲精品自拍成人| 日本爱情动作片www.在线观看| 国产乱人偷精品视频| 亚洲国产精品一区二区三区在线| 国产成人av激情在线播放 | 久久99精品国语久久久| 国产一区二区三区综合在线观看 | 国产成人a∨麻豆精品| 国产色爽女视频免费观看| 精品人妻偷拍中文字幕| 高清不卡的av网站| 两个人免费观看高清视频| 国产精品无大码| 国产免费一区二区三区四区乱码| 少妇被粗大的猛进出69影院 | www.色视频.com| 在现免费观看毛片| 日本黄色日本黄色录像| 国产精品三级大全| av线在线观看网站| 国产永久视频网站| 热re99久久国产66热| 免费少妇av软件| 国产黄频视频在线观看| 熟女人妻精品中文字幕| 欧美激情国产日韩精品一区| 亚洲综合色网址| 国产精品国产三级国产专区5o| 日韩熟女老妇一区二区性免费视频| 日韩中文字幕视频在线看片| 91精品国产九色| 肉色欧美久久久久久久蜜桃| 人人妻人人添人人爽欧美一区卜| 精品久久久噜噜| 久久99精品国语久久久| 在现免费观看毛片| 国产成人精品福利久久| 一级毛片电影观看| 国产日韩欧美亚洲二区| 午夜av观看不卡| 成人无遮挡网站| 久热这里只有精品99| 亚洲精品日韩av片在线观看| 亚洲国产精品成人久久小说| 国产男女超爽视频在线观看| 亚洲情色 制服丝袜| 亚洲av在线观看美女高潮| 美女大奶头黄色视频| 日日摸夜夜添夜夜爱| 欧美一级a爱片免费观看看| 日本av免费视频播放| 国产在视频线精品| 日韩,欧美,国产一区二区三区| 日韩大片免费观看网站| 国产一级毛片在线| 亚洲激情五月婷婷啪啪| 春色校园在线视频观看| 少妇高潮的动态图| 国产亚洲最大av| 久久久久久久久久久丰满| 日韩一本色道免费dvd| 少妇猛男粗大的猛烈进出视频| 夜夜爽夜夜爽视频| 国产精品秋霞免费鲁丝片| 欧美日韩av久久| 少妇高潮的动态图| 久久综合国产亚洲精品| 亚洲精品久久成人aⅴ小说 | 特大巨黑吊av在线直播| 亚洲一区二区三区欧美精品| 在现免费观看毛片| 老司机影院毛片| 搡老乐熟女国产| 久久精品国产亚洲av天美| 亚洲一区二区三区欧美精品| 中文字幕精品免费在线观看视频 | 欧美精品一区二区免费开放| 国产成人aa在线观看| 亚洲av二区三区四区| 91久久精品国产一区二区三区| 亚洲精品乱码久久久v下载方式| 亚洲精品亚洲一区二区| 免费日韩欧美在线观看| 亚洲,欧美,日韩| 自拍欧美九色日韩亚洲蝌蚪91| 特大巨黑吊av在线直播| 汤姆久久久久久久影院中文字幕| 老司机亚洲免费影院| 精品少妇黑人巨大在线播放| 欧美国产精品一级二级三级| 少妇精品久久久久久久| 亚洲怡红院男人天堂| 国产日韩欧美视频二区| 母亲3免费完整高清在线观看 | 国产精品国产三级专区第一集| av国产久精品久网站免费入址| 国产精品不卡视频一区二区| 五月玫瑰六月丁香| 九九爱精品视频在线观看| 最新的欧美精品一区二区| 一本大道久久a久久精品| 亚洲在久久综合| 国产精品免费大片| 少妇精品久久久久久久| 99热网站在线观看| 18禁动态无遮挡网站| 久久免费观看电影| 色婷婷久久久亚洲欧美| 国产高清不卡午夜福利| 免费观看无遮挡的男女| 一个人看视频在线观看www免费| 777米奇影视久久| 中文字幕免费在线视频6| 久久久久久久久久久久大奶| 一本大道久久a久久精品| 九草在线视频观看| 天堂8中文在线网| 青春草视频在线免费观看| 搡女人真爽免费视频火全软件| 在线免费观看不下载黄p国产| 99国产综合亚洲精品| 午夜免费鲁丝| 成人午夜精彩视频在线观看| 少妇的逼好多水| 97在线人人人人妻| 精品国产乱码久久久久久小说| 一级黄片播放器| 久久国产精品大桥未久av| 久久综合国产亚洲精品| 国产成人午夜福利电影在线观看| 国产精品三级大全| 精品视频人人做人人爽| 黑人高潮一二区| 18禁观看日本| 欧美日韩视频精品一区| 欧美丝袜亚洲另类| 亚洲精品,欧美精品| 简卡轻食公司| 国产免费一级a男人的天堂| 欧美日韩国产mv在线观看视频| 久久久久久久久久成人| 一级毛片电影观看| 人妻 亚洲 视频| 日韩大片免费观看网站| 狠狠精品人妻久久久久久综合| 免费人妻精品一区二区三区视频| 美女国产高潮福利片在线看| 国产成人精品久久久久久| 好男人视频免费观看在线| 伊人久久精品亚洲午夜| 国产综合精华液| 欧美精品高潮呻吟av久久| 久久久久精品久久久久真实原创| 欧美日韩亚洲高清精品| 91aial.com中文字幕在线观看| 成年人午夜在线观看视频| 国产精品.久久久| 日韩成人av中文字幕在线观看| 少妇的逼水好多| 亚洲精品色激情综合| 国产乱人偷精品视频| 精品久久久久久久久亚洲| 麻豆精品久久久久久蜜桃| 天天操日日干夜夜撸| 中文字幕精品免费在线观看视频 | 国产一区二区在线观看av| 欧美成人精品欧美一级黄| 大香蕉久久成人网| 在线观看www视频免费| 久久热精品热| 51国产日韩欧美| 国产成人精品久久久久久| 成人无遮挡网站| av有码第一页| 男男h啪啪无遮挡| 看免费成人av毛片| 天美传媒精品一区二区| 欧美人与善性xxx| 成人18禁高潮啪啪吃奶动态图 | 亚州av有码| 高清在线视频一区二区三区| 一区二区av电影网| 免费黄网站久久成人精品| 日本色播在线视频| 91精品国产九色| 成人手机av| 亚洲人与动物交配视频| 日韩av在线免费看完整版不卡| 亚洲av免费高清在线观看| 精品国产一区二区三区久久久樱花| 中文字幕av电影在线播放| 十八禁网站网址无遮挡| 一区二区三区四区激情视频| 黄色配什么色好看| 纵有疾风起免费观看全集完整版| 99九九在线精品视频| 国产在线免费精品| 热re99久久国产66热| 国产成人精品福利久久| 热re99久久国产66热| 五月开心婷婷网| 亚洲精品av麻豆狂野| 精品人妻熟女毛片av久久网站| 国产高清国产精品国产三级| 日韩成人伦理影院| 久久人人爽av亚洲精品天堂| 99国产精品免费福利视频| 美女xxoo啪啪120秒动态图| av视频免费观看在线观看| 有码 亚洲区| 国产色婷婷99| 国产男女内射视频| 国产av一区二区精品久久| 精品久久久久久久久av| 另类亚洲欧美激情| av天堂久久9| 91精品一卡2卡3卡4卡| a级毛片免费高清观看在线播放| 一区二区日韩欧美中文字幕 | 亚洲精品久久午夜乱码| 国产欧美亚洲国产| 久久 成人 亚洲| 伦理电影大哥的女人| 高清不卡的av网站| 欧美日本中文国产一区发布| 久久97久久精品| www.av在线官网国产| 日本爱情动作片www.在线观看| 国产探花极品一区二区| 啦啦啦中文免费视频观看日本| 精品少妇黑人巨大在线播放| 日日摸夜夜添夜夜爱| 成人免费观看视频高清| 成人无遮挡网站| 精品国产露脸久久av麻豆| 一本久久精品| 在线看a的网站| 成年人午夜在线观看视频| 91久久精品电影网| 51国产日韩欧美| 这个男人来自地球电影免费观看 | 精品久久久久久久久亚洲| 在线亚洲精品国产二区图片欧美 | 久久狼人影院| 男女高潮啪啪啪动态图| 国产成人一区二区在线| 国产高清有码在线观看视频| 久久久国产精品麻豆| 美女内射精品一级片tv| 日本免费在线观看一区| 色婷婷久久久亚洲欧美| 91午夜精品亚洲一区二区三区| 狂野欧美激情性bbbbbb| 一区二区三区精品91| 欧美3d第一页| 少妇人妻 视频| 国产在线一区二区三区精| 女人精品久久久久毛片| 国产免费又黄又爽又色| 一级毛片电影观看| 99国产精品免费福利视频| 亚洲精品av麻豆狂野| 人人妻人人澡人人爽人人夜夜| 亚洲国产最新在线播放| 人妻夜夜爽99麻豆av| 国产 精品1| 超色免费av| 欧美亚洲日本最大视频资源| 草草在线视频免费看| 久久精品国产鲁丝片午夜精品| 成人国产av品久久久| 又大又黄又爽视频免费| av黄色大香蕉| 大片电影免费在线观看免费| 国产又色又爽无遮挡免| 久久精品久久精品一区二区三区| 国产成人精品在线电影| 国产精品嫩草影院av在线观看| 人妻夜夜爽99麻豆av| 欧美xxxx性猛交bbbb| 超色免费av| 晚上一个人看的免费电影| 人人妻人人澡人人看| av黄色大香蕉| 午夜久久久在线观看| 免费人成在线观看视频色| 精品一区在线观看国产| 国产在线视频一区二区| 性色avwww在线观看| 满18在线观看网站| 99热这里只有是精品在线观看| 日本午夜av视频| 国产在线一区二区三区精| 日韩中文字幕视频在线看片| 国产成人午夜福利电影在线观看| 一区二区三区四区激情视频| 全区人妻精品视频| 久久久久国产精品人妻一区二区| 一区在线观看完整版| 免费黄网站久久成人精品| 我的女老师完整版在线观看| 日韩欧美一区视频在线观看| 国产深夜福利视频在线观看| 中国三级夫妇交换| av专区在线播放| 免费大片18禁| 欧美最新免费一区二区三区| 亚洲精品日本国产第一区| 22中文网久久字幕| 免费看av在线观看网站| 国产一区二区在线观看av| 国产色婷婷99| 久久综合国产亚洲精品| 老司机影院毛片| 国产老妇伦熟女老妇高清| 国产精品国产三级专区第一集| 18禁动态无遮挡网站| 日韩大片免费观看网站| 另类亚洲欧美激情| 黄色毛片三级朝国网站| 亚洲av日韩在线播放| 麻豆精品久久久久久蜜桃| 99热国产这里只有精品6| 乱码一卡2卡4卡精品| 九色成人免费人妻av| 欧美激情 高清一区二区三区| 久久 成人 亚洲| 午夜福利在线观看免费完整高清在| 免费黄色在线免费观看| 日韩精品有码人妻一区| 亚洲三级黄色毛片| 久久人人爽av亚洲精品天堂| 亚洲成人av在线免费| 亚洲精品日本国产第一区| 久久99精品国语久久久| 亚洲国产精品国产精品| 黑人猛操日本美女一级片| 久久精品国产亚洲av涩爱| 亚洲婷婷狠狠爱综合网| av网站免费在线观看视频| 免费看av在线观看网站| 中国三级夫妇交换| a级片在线免费高清观看视频| 日日摸夜夜添夜夜爱| 制服丝袜香蕉在线| 性色av一级| 亚洲综合色惰| 18+在线观看网站| 在线观看免费高清a一片| 亚洲国产精品一区二区三区在线| 免费看av在线观看网站| 国产精品国产三级国产av玫瑰| 久久毛片免费看一区二区三区| 亚洲情色 制服丝袜| 亚洲在久久综合| 亚洲色图综合在线观看| 内地一区二区视频在线| 男人添女人高潮全过程视频| 又大又黄又爽视频免费| 国产欧美日韩一区二区三区在线 | 亚洲五月色婷婷综合| 91aial.com中文字幕在线观看| 特大巨黑吊av在线直播| 日本wwww免费看| 老女人水多毛片| 精品午夜福利在线看| 亚洲精品久久成人aⅴ小说 | 最近中文字幕高清免费大全6| 亚洲国产日韩一区二区| 一区二区三区免费毛片| 亚洲第一区二区三区不卡| 亚洲人与动物交配视频| 这个男人来自地球电影免费观看 | 日韩一区二区三区影片| 日韩av不卡免费在线播放| 最近2019中文字幕mv第一页| 久久久久久久久久人人人人人人| 啦啦啦中文免费视频观看日本| 夜夜爽夜夜爽视频| 国产精品免费大片| 一级爰片在线观看| 七月丁香在线播放| 97在线人人人人妻| 国产成人av激情在线播放 | 久久人人爽av亚洲精品天堂| 国产熟女欧美一区二区| 日本黄色片子视频| 亚洲av男天堂| 国产伦理片在线播放av一区| 日韩欧美精品免费久久| 在线观看免费日韩欧美大片 | 中国国产av一级| 成人亚洲欧美一区二区av| 一边摸一边做爽爽视频免费| 亚洲色图 男人天堂 中文字幕 | 男人添女人高潮全过程视频| av在线播放精品| 天天操日日干夜夜撸| 亚洲精品国产av蜜桃| 多毛熟女@视频| 国产精品一区二区在线观看99| 少妇人妻精品综合一区二区| 久久久久久久久大av| 日日摸夜夜添夜夜添av毛片| 我要看黄色一级片免费的| 午夜av观看不卡| 十八禁高潮呻吟视频| 成人18禁高潮啪啪吃奶动态图 | 啦啦啦视频在线资源免费观看| 人成视频在线观看免费观看| 自线自在国产av| 免费av中文字幕在线| 免费高清在线观看日韩| 青春草国产在线视频| 久久久久视频综合| 久久久久国产网址| 亚洲欧美一区二区三区国产| 美女国产视频在线观看| 高清视频免费观看一区二区| 日本欧美国产在线视频| 最黄视频免费看| 国产av一区二区精品久久| av国产久精品久网站免费入址| 欧美日韩成人在线一区二区| 一个人免费看片子| 日本爱情动作片www.在线观看| 欧美精品一区二区大全| 成年av动漫网址| 中文字幕最新亚洲高清| 在线天堂最新版资源| 美女视频免费永久观看网站| 一级片'在线观看视频| videosex国产| 国产视频内射| 桃花免费在线播放| 国产成人一区二区在线| 中文乱码字字幕精品一区二区三区| 免费播放大片免费观看视频在线观看| 热99久久久久精品小说推荐| 美女cb高潮喷水在线观看| 日韩中字成人| 少妇的逼水好多| 中文字幕精品免费在线观看视频 | 一二三四中文在线观看免费高清| 亚洲一区二区三区欧美精品| 丝袜喷水一区| 亚洲,一卡二卡三卡| 亚洲一区二区三区欧美精品| 一个人免费看片子| 亚洲精品av麻豆狂野| 这个男人来自地球电影免费观看 | 精品一区在线观看国产| 免费观看av网站的网址| 中文字幕免费在线视频6| 久久午夜综合久久蜜桃| 亚洲av日韩在线播放| 亚洲图色成人| 综合色丁香网| 日韩一本色道免费dvd| 国产色爽女视频免费观看| 日日摸夜夜添夜夜爱|