• <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ù)對路表彎沉盆影響分析
    亚洲久久久国产精品| 女性生殖器流出的白浆| 国产成人精品无人区| 亚洲精品久久久久久婷婷小说| 捣出白浆h1v1| 男女啪啪激烈高潮av片| 草草在线视频免费看| 久久人人爽人人爽人人片va| 国产免费一区二区三区四区乱码| 亚洲美女搞黄在线观看| 宅男免费午夜| 国产有黄有色有爽视频| 精品人妻偷拍中文字幕| 桃花免费在线播放| 久久精品久久精品一区二区三区| 亚洲欧美一区二区三区国产| 免费看av在线观看网站| 18禁国产床啪视频网站| 中文字幕另类日韩欧美亚洲嫩草| 欧美精品人与动牲交sv欧美| 啦啦啦在线观看免费高清www| av天堂久久9| 9191精品国产免费久久| 日韩 亚洲 欧美在线| 久久99热6这里只有精品| 亚洲图色成人| 亚洲,欧美,日韩| 国产精品 国内视频| 久久精品久久久久久噜噜老黄| xxx大片免费视频| 亚洲色图综合在线观看| 最近的中文字幕免费完整| 侵犯人妻中文字幕一二三四区| 亚洲第一av免费看| 国产成人精品在线电影| 亚洲精品,欧美精品| 亚洲av男天堂| 大香蕉97超碰在线| 亚洲伊人色综图| 亚洲人成网站在线观看播放| 熟女av电影| 久久99一区二区三区| 一区在线观看完整版| 黑人高潮一二区| 亚洲国产精品专区欧美| 51国产日韩欧美| 日本色播在线视频| 久久99蜜桃精品久久| 免费播放大片免费观看视频在线观看| 汤姆久久久久久久影院中文字幕| 这个男人来自地球电影免费观看 | 熟女电影av网| 精品福利永久在线观看| 大话2 男鬼变身卡| 中文欧美无线码| 日本午夜av视频| 天天操日日干夜夜撸| 久久久久久久久久久免费av| 亚洲成色77777| 久热这里只有精品99| 国产伦理片在线播放av一区| 亚洲av电影在线进入| 成人免费观看视频高清| 全区人妻精品视频| 欧美精品人与动牲交sv欧美| 最黄视频免费看| 少妇人妻 视频| av片东京热男人的天堂| 久久精品久久久久久噜噜老黄| 免费在线观看黄色视频的| 视频区图区小说| 久久久国产一区二区| 一级a做视频免费观看| 国产 一区精品| 中文字幕另类日韩欧美亚洲嫩草| 亚洲国产av影院在线观看| 少妇被粗大的猛进出69影院 | 亚洲内射少妇av| 少妇被粗大猛烈的视频| 91aial.com中文字幕在线观看| 国产极品天堂在线| 天天躁夜夜躁狠狠久久av| 中文天堂在线官网| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 国产 精品1| 新久久久久国产一级毛片| 在线精品无人区一区二区三| 纵有疾风起免费观看全集完整版| 波多野结衣一区麻豆| 免费不卡的大黄色大毛片视频在线观看| 久久青草综合色| 欧美xxxx性猛交bbbb| 久久久久久人妻| 男女午夜视频在线观看 | 亚洲一区二区三区欧美精品| 成年美女黄网站色视频大全免费| 亚洲国产精品一区二区三区在线| 欧美日韩成人在线一区二区| 国产精品秋霞免费鲁丝片| 各种免费的搞黄视频| 久久久久视频综合| 国产欧美日韩综合在线一区二区| 边亲边吃奶的免费视频| 亚洲精品日本国产第一区| 国产精品一二三区在线看| 国语对白做爰xxxⅹ性视频网站| 亚洲综合精品二区| 欧美日韩av久久| 日日爽夜夜爽网站| 亚洲国产欧美日韩在线播放| 亚洲精品456在线播放app| 国产69精品久久久久777片| 久久久久久久国产电影| 日韩欧美一区视频在线观看| 亚洲精品美女久久av网站| 亚洲av电影在线进入| 伊人亚洲综合成人网| 22中文网久久字幕| 日韩一本色道免费dvd| 亚洲一码二码三码区别大吗| 日韩伦理黄色片| 亚洲精品色激情综合| 综合色丁香网| 午夜福利影视在线免费观看| 综合色丁香网| av不卡在线播放| 人妻系列 视频| 国产亚洲av片在线观看秒播厂| 久久精品aⅴ一区二区三区四区 | 亚洲综合色惰| 久久草成人影院| 欧美久久黑人一区二区| 国产激情欧美一区二区| 国产成人免费无遮挡视频| 免费日韩欧美在线观看| 一本大道久久a久久精品| 99久久精品国产亚洲精品| 精品熟女少妇八av免费久了| 高清av免费在线| 最近最新中文字幕大全电影3 | 成人免费观看视频高清| 久久中文字幕人妻熟女| 麻豆av在线久日| 桃红色精品国产亚洲av| 久久久久久久久久久久大奶| 在线观看免费午夜福利视频| 精品一区二区三区四区五区乱码| 亚洲人成电影免费在线| 99精品久久久久人妻精品| 国产色视频综合| 波多野结衣一区麻豆| av片东京热男人的天堂| 黄色丝袜av网址大全| 看免费av毛片| 91大片在线观看| 色老头精品视频在线观看| 岛国在线观看网站| 国产一区二区三区视频了| 欧美+亚洲+日韩+国产| 91九色精品人成在线观看| 欧美成人午夜精品| 国产99白浆流出| 女人高潮潮喷娇喘18禁视频| 久久中文看片网| 老司机影院毛片| 在线观看午夜福利视频| 亚洲人成伊人成综合网2020| 久久久久国产一级毛片高清牌| 国产片内射在线| 亚洲va日本ⅴa欧美va伊人久久| 女人被躁到高潮嗷嗷叫费观| 天堂动漫精品| tocl精华| 人人澡人人妻人| 亚洲精品一卡2卡三卡4卡5卡| 亚洲精品久久成人aⅴ小说| 大型av网站在线播放| 人妻久久中文字幕网| 黄色a级毛片大全视频| 黑人巨大精品欧美一区二区mp4| 精品久久久久久,| 大香蕉久久网| 国产黄色免费在线视频| 欧美精品一区二区免费开放| 首页视频小说图片口味搜索| 国产精品久久久久成人av| 麻豆乱淫一区二区| 欧美精品高潮呻吟av久久| 99国产精品免费福利视频| 别揉我奶头~嗯~啊~动态视频| 中出人妻视频一区二区| xxxhd国产人妻xxx| 欧美成人午夜精品| 久久久国产欧美日韩av| 日韩熟女老妇一区二区性免费视频| 在线观看午夜福利视频| 成年女人毛片免费观看观看9 | 窝窝影院91人妻| 亚洲专区国产一区二区| 亚洲 国产 在线| 新久久久久国产一级毛片| 国产不卡一卡二| 啦啦啦 在线观看视频| 啪啪无遮挡十八禁网站| 亚洲综合色网址| 日日爽夜夜爽网站| 黑人巨大精品欧美一区二区mp4| 好男人电影高清在线观看| 国产av一区二区精品久久| 欧美日韩乱码在线| 午夜老司机福利片| 国精品久久久久久国模美| 天天躁夜夜躁狠狠躁躁| 午夜福利在线免费观看网站| 国产成人一区二区三区免费视频网站| 一级毛片女人18水好多| 在线观看午夜福利视频| 免费在线观看影片大全网站| 亚洲中文av在线| 亚洲性夜色夜夜综合| 99香蕉大伊视频| 精品午夜福利视频在线观看一区| 黄色丝袜av网址大全| 欧美成狂野欧美在线观看| 亚洲欧美一区二区三区黑人| 日本撒尿小便嘘嘘汇集6| 久久精品熟女亚洲av麻豆精品| 欧美av亚洲av综合av国产av| 国产精品免费一区二区三区在线 | 三上悠亚av全集在线观看| 午夜视频精品福利| 国产av一区二区精品久久| 老司机影院毛片| 老司机午夜十八禁免费视频| 久久人人爽av亚洲精品天堂| 欧美乱色亚洲激情| 久久国产精品影院| 日韩成人在线观看一区二区三区| 亚洲成人国产一区在线观看| 日韩欧美免费精品| 国产av又大| 脱女人内裤的视频| 97人妻天天添夜夜摸| 嫩草影视91久久| 国产精品久久久人人做人人爽| 国产精品九九99| 亚洲色图 男人天堂 中文字幕| 老司机福利观看| 亚洲av成人一区二区三| 久久婷婷成人综合色麻豆| 欧美老熟妇乱子伦牲交| 亚洲色图 男人天堂 中文字幕| 大片电影免费在线观看免费| 亚洲午夜理论影院| 12—13女人毛片做爰片一| 精品国产美女av久久久久小说| 久久性视频一级片| √禁漫天堂资源中文www| av天堂久久9| 韩国av一区二区三区四区| 一区二区三区激情视频| 午夜福利欧美成人| 色94色欧美一区二区| 桃红色精品国产亚洲av| 午夜福利一区二区在线看| 国产三级黄色录像| 久久香蕉激情| 国产精品偷伦视频观看了| 亚洲欧洲精品一区二区精品久久久| 99久久99久久久精品蜜桃| 女同久久另类99精品国产91| 国产精品免费一区二区三区在线 | 国产亚洲欧美在线一区二区| 亚洲九九香蕉| 精品国产一区二区久久| 国产高清国产精品国产三级| 在线十欧美十亚洲十日本专区| 国产免费男女视频| 婷婷成人精品国产| 国产淫语在线视频| 国产成人系列免费观看| 亚洲久久久国产精品| 热99re8久久精品国产| 淫妇啪啪啪对白视频| 曰老女人黄片| 亚洲国产精品合色在线| 99国产极品粉嫩在线观看| 日本精品一区二区三区蜜桃| 国产熟女午夜一区二区三区| 99久久99久久久精品蜜桃| 99re6热这里在线精品视频| 免费不卡黄色视频| 久久热在线av| 国产精品综合久久久久久久免费 | 国产在线精品亚洲第一网站| 午夜视频精品福利| 最近最新免费中文字幕在线| 日日爽夜夜爽网站| 美女午夜性视频免费| 69精品国产乱码久久久| 国产成+人综合+亚洲专区| 国产不卡av网站在线观看| 色婷婷av一区二区三区视频| 一二三四在线观看免费中文在| 国产欧美亚洲国产| 欧美中文综合在线视频| 午夜视频精品福利| 久久99一区二区三区| 亚洲一区高清亚洲精品| 亚洲欧美日韩另类电影网站| 国产午夜精品久久久久久| 久久久精品国产亚洲av高清涩受| 亚洲精品在线美女| 国产精品自产拍在线观看55亚洲 | 国产aⅴ精品一区二区三区波| 中文字幕制服av| 精品国产乱码久久久久久男人| 校园春色视频在线观看| 成人18禁在线播放| 日本五十路高清| 国产成人精品无人区| 精品久久久久久久久久免费视频 | 三上悠亚av全集在线观看| 久久人妻熟女aⅴ| 亚洲精品国产一区二区精华液| 国产99白浆流出| www.999成人在线观看| 99久久国产精品久久久| 亚洲av成人一区二区三| 久久精品熟女亚洲av麻豆精品| 中文字幕人妻熟女乱码| 搡老熟女国产l中国老女人| 久久精品国产a三级三级三级| 99国产综合亚洲精品| 精品熟女少妇八av免费久了| av天堂久久9| 欧美 亚洲 国产 日韩一| 亚洲精品中文字幕在线视频| 久久狼人影院| videosex国产| 成人国语在线视频| 久久精品亚洲精品国产色婷小说| 国产高清视频在线播放一区| 欧美黑人精品巨大| 午夜亚洲福利在线播放| 午夜老司机福利片| 亚洲 欧美一区二区三区| 一级黄色大片毛片| videos熟女内射| 亚洲av成人av| 国产欧美日韩一区二区精品| 天天躁日日躁夜夜躁夜夜| 美女午夜性视频免费| 亚洲人成电影观看| 中文字幕av电影在线播放| 男女午夜视频在线观看| 日韩人妻精品一区2区三区| 人妻丰满熟妇av一区二区三区 | 成人免费观看视频高清| 亚洲精品乱久久久久久| 国产视频一区二区在线看| 亚洲av电影在线进入| 窝窝影院91人妻| 91精品三级在线观看| 久久人妻av系列| a级片在线免费高清观看视频| 高清av免费在线| 在线观看一区二区三区激情| 首页视频小说图片口味搜索| 免费看a级黄色片| 国产成人一区二区三区免费视频网站| 欧美+亚洲+日韩+国产| 99riav亚洲国产免费| 亚洲精品久久午夜乱码| 在线观看一区二区三区激情| bbb黄色大片| 国产成人欧美| 亚洲国产欧美一区二区综合| xxx96com| 精品一品国产午夜福利视频| 别揉我奶头~嗯~啊~动态视频| 国产一区二区三区视频了| 欧美在线一区亚洲| 亚洲色图av天堂| 久久中文字幕人妻熟女| 免费在线观看日本一区| 另类亚洲欧美激情| √禁漫天堂资源中文www| 午夜福利乱码中文字幕| 国产97色在线日韩免费| 久久婷婷成人综合色麻豆| 色精品久久人妻99蜜桃| 色尼玛亚洲综合影院| 午夜免费成人在线视频| 亚洲色图 男人天堂 中文字幕| 亚洲色图av天堂| 免费高清在线观看日韩| 国产成人av激情在线播放| 欧美黑人欧美精品刺激| 午夜免费鲁丝| 日韩欧美一区二区三区在线观看 | 国产高清激情床上av| 一级片'在线观看视频| 午夜影院日韩av| 成人黄色视频免费在线看| 搡老熟女国产l中国老女人| 一个人免费在线观看的高清视频| 丰满迷人的少妇在线观看| 欧美黄色片欧美黄色片| √禁漫天堂资源中文www| 婷婷精品国产亚洲av在线 | 午夜视频精品福利| 亚洲一区二区三区欧美精品| 香蕉久久夜色| 性色av乱码一区二区三区2| 99国产精品99久久久久| 精品一品国产午夜福利视频| 国产男女内射视频| 精品亚洲成a人片在线观看| 欧美丝袜亚洲另类 | 少妇猛男粗大的猛烈进出视频| 少妇被粗大的猛进出69影院| 性少妇av在线| 波多野结衣av一区二区av| 热99re8久久精品国产| 亚洲 国产 在线| 青草久久国产| 亚洲欧美精品综合一区二区三区| 久久精品成人免费网站| 亚洲国产精品合色在线| 19禁男女啪啪无遮挡网站| 窝窝影院91人妻| 亚洲成人国产一区在线观看| 美女扒开内裤让男人捅视频| 亚洲美女黄片视频| 久久这里只有精品19| 99久久人妻综合| 一区在线观看完整版| 天堂俺去俺来也www色官网| 99香蕉大伊视频| 国产亚洲精品久久久久久毛片 | 久9热在线精品视频| 亚洲av片天天在线观看| 亚洲精品一二三| 久久久久久久久免费视频了| 丰满的人妻完整版| 国产日韩一区二区三区精品不卡| 精品一品国产午夜福利视频| 少妇的丰满在线观看| 国产淫语在线视频| 91麻豆av在线| 国产精品久久久av美女十八| 久久精品亚洲av国产电影网| 丝袜人妻中文字幕| 国产精品免费一区二区三区在线 | 午夜福利一区二区在线看| 性色av乱码一区二区三区2| 日韩欧美在线二视频 | 在线天堂中文资源库| aaaaa片日本免费| 午夜福利影视在线免费观看| 国产真人三级小视频在线观看| 日本a在线网址| 亚洲成国产人片在线观看| 香蕉久久夜色| 在线观看一区二区三区激情| 午夜精品久久久久久毛片777| 曰老女人黄片| 日韩视频一区二区在线观看| 久久久久久久久免费视频了| 国产又爽黄色视频| 18禁裸乳无遮挡免费网站照片 | 十八禁高潮呻吟视频| 久久精品国产亚洲av高清一级| 精品第一国产精品| 999久久久精品免费观看国产| 极品教师在线免费播放| 看黄色毛片网站| 亚洲片人在线观看| x7x7x7水蜜桃| 欧美日韩亚洲高清精品| 久9热在线精品视频| 日本黄色视频三级网站网址 | tocl精华| 亚洲精品中文字幕在线视频| 香蕉国产在线看| 久热爱精品视频在线9| 国产精品成人在线| 成人av一区二区三区在线看| 最近最新免费中文字幕在线| 精品一区二区三区视频在线观看免费 | 99精品久久久久人妻精品| 悠悠久久av| 最近最新免费中文字幕在线| 老熟妇乱子伦视频在线观看| 亚洲av美国av| 久久 成人 亚洲| 成人免费观看视频高清| 亚洲av片天天在线观看| 黄色视频,在线免费观看| 9191精品国产免费久久| 免费在线观看完整版高清| 国产精品永久免费网站| 他把我摸到了高潮在线观看| 淫妇啪啪啪对白视频| 免费在线观看影片大全网站| 啪啪无遮挡十八禁网站| 日本一区二区免费在线视频| 美女 人体艺术 gogo| 一级黄色大片毛片| 视频区欧美日本亚洲| 可以免费在线观看a视频的电影网站| 亚洲精品成人av观看孕妇| 亚洲欧美一区二区三区黑人| 国产精品乱码一区二三区的特点 | 免费少妇av软件| a在线观看视频网站| 成人永久免费在线观看视频| 欧美老熟妇乱子伦牲交| 久久久久国内视频| 亚洲色图av天堂| 18在线观看网站| 变态另类成人亚洲欧美熟女 | 韩国精品一区二区三区| 一进一出好大好爽视频| 欧美日韩一级在线毛片| 国产在线精品亚洲第一网站| 中文字幕制服av| 日韩欧美免费精品| 99热国产这里只有精品6| 在线观看www视频免费| 人成视频在线观看免费观看| 高潮久久久久久久久久久不卡| 久久国产精品男人的天堂亚洲| 99精品久久久久人妻精品| 日韩免费高清中文字幕av| 免费少妇av软件| 两性夫妻黄色片| 黄色丝袜av网址大全| 亚洲美女黄片视频| 精品国产一区二区久久| 亚洲第一av免费看| 国产精品久久电影中文字幕 | 国产精品九九99| 黄色丝袜av网址大全| 一本一本久久a久久精品综合妖精| 欧美最黄视频在线播放免费 | 一a级毛片在线观看| 99久久综合精品五月天人人| 99国产精品免费福利视频| 国产成人免费无遮挡视频| 中文字幕人妻丝袜一区二区| 亚洲色图综合在线观看| 80岁老熟妇乱子伦牲交| 亚洲成人手机| 99精国产麻豆久久婷婷| 少妇猛男粗大的猛烈进出视频| 国产亚洲精品久久久久5区| 老司机深夜福利视频在线观看| 久久精品亚洲av国产电影网| 丝瓜视频免费看黄片| 两人在一起打扑克的视频| 日韩欧美一区二区三区在线观看 | 亚洲欧美一区二区三区久久| 久久中文字幕一级| 在线观看免费高清a一片| 国产亚洲精品久久久久5区| 97人妻天天添夜夜摸| 黄色片一级片一级黄色片| 久久国产乱子伦精品免费另类| e午夜精品久久久久久久| 少妇被粗大的猛进出69影院| 精品国产乱子伦一区二区三区| 国产三级黄色录像| 美女国产高潮福利片在线看| 在线观看免费日韩欧美大片| 成人av一区二区三区在线看| 精品欧美一区二区三区在线| 人妻 亚洲 视频| 淫妇啪啪啪对白视频| 91成年电影在线观看| av不卡在线播放| 久久久国产成人免费| 国产男靠女视频免费网站| 国产成人av教育| 婷婷精品国产亚洲av在线 | 丝袜美足系列| 中亚洲国语对白在线视频| 美女视频免费永久观看网站| 18禁裸乳无遮挡动漫免费视频| 国产又爽黄色视频| 欧美大码av| 免费女性裸体啪啪无遮挡网站| 一级毛片高清免费大全| 亚洲五月天丁香| 妹子高潮喷水视频| 老司机福利观看| 免费在线观看完整版高清| 久久国产精品人妻蜜桃| 99国产综合亚洲精品| 97人妻天天添夜夜摸| 国产精品 国内视频| 久久久久久免费高清国产稀缺| 久久久久久久精品吃奶| 女人被躁到高潮嗷嗷叫费观| 亚洲成国产人片在线观看| 99re在线观看精品视频| 高清在线国产一区| 久久久久久久午夜电影 | 日本a在线网址| 国产精品一区二区精品视频观看| 国产精品偷伦视频观看了| 每晚都被弄得嗷嗷叫到高潮| 国产精品 欧美亚洲| 日韩三级视频一区二区三区|