• <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ù)對路表彎沉盆影響分析
    亚洲三区欧美一区| 欧美 亚洲 国产 日韩一| 69av精品久久久久久| 亚洲 国产 在线| 亚洲精品久久成人aⅴ小说| 淫秽高清视频在线观看| 91国产中文字幕| 久久伊人香网站| 熟妇人妻久久中文字幕3abv| 国产精品久久久av美女十八| 免费女性裸体啪啪无遮挡网站| 久久久国产精品麻豆| 国产野战对白在线观看| 乱人伦中国视频| 亚洲精品美女久久久久99蜜臀| 久久久久国内视频| 国产成人啪精品午夜网站| 亚洲成国产人片在线观看| 韩国精品一区二区三区| www.自偷自拍.com| 亚洲电影在线观看av| 色婷婷久久久亚洲欧美| 久久国产精品影院| 一级黄色大片毛片| 亚洲午夜精品一区,二区,三区| 久热爱精品视频在线9| 亚洲欧美精品综合一区二区三区| 成年版毛片免费区| 国产精品免费视频内射| 免费无遮挡裸体视频| 又黄又粗又硬又大视频| 级片在线观看| 岛国在线观看网站| 久热这里只有精品99| 久久精品国产亚洲av高清一级| 很黄的视频免费| 啦啦啦观看免费观看视频高清 | АⅤ资源中文在线天堂| 好男人在线观看高清免费视频 | 动漫黄色视频在线观看| 1024香蕉在线观看| 后天国语完整版免费观看| 两个人看的免费小视频| 国产精品综合久久久久久久免费 | 亚洲国产精品久久男人天堂| 欧美成人午夜精品| 91精品三级在线观看| 午夜免费激情av| 国产精品一区二区在线不卡| 亚洲精品在线美女| 99国产精品免费福利视频| 国产亚洲av嫩草精品影院| 国产aⅴ精品一区二区三区波| 亚洲五月色婷婷综合| 国产精品久久久人人做人人爽| 国产精品 国内视频| 免费久久久久久久精品成人欧美视频| 不卡av一区二区三区| 在线视频色国产色| av网站免费在线观看视频| 成熟少妇高潮喷水视频| 少妇 在线观看| 色综合亚洲欧美另类图片| 麻豆av在线久日| 国产人伦9x9x在线观看| 亚洲成人免费电影在线观看| 深夜精品福利| 国产成人一区二区三区免费视频网站| 99久久99久久久精品蜜桃| 日本五十路高清| 久久久精品欧美日韩精品| 日韩一卡2卡3卡4卡2021年| 色播在线永久视频| 久久婷婷成人综合色麻豆| 午夜福利一区二区在线看| 电影成人av| 高清在线国产一区| 丝袜在线中文字幕| or卡值多少钱| 成人亚洲精品av一区二区| 欧美精品啪啪一区二区三区| 久久精品国产清高在天天线| 别揉我奶头~嗯~啊~动态视频| 亚洲 欧美一区二区三区| 不卡一级毛片| 欧美日韩中文字幕国产精品一区二区三区 | 久久亚洲真实| 久久影院123| 精品国产亚洲在线| 看黄色毛片网站| 少妇粗大呻吟视频| 国产一区二区三区在线臀色熟女| 精品午夜福利视频在线观看一区| 日本黄色视频三级网站网址| 国产精品日韩av在线免费观看 | 熟妇人妻久久中文字幕3abv| 久久久国产成人精品二区| 精品国产美女av久久久久小说| 欧美在线黄色| 深夜精品福利| 亚洲欧美一区二区三区黑人| 男人的好看免费观看在线视频 | 9热在线视频观看99| 伊人久久大香线蕉亚洲五| 国产一卡二卡三卡精品| 日韩三级视频一区二区三区| 日韩精品青青久久久久久| 亚洲,欧美精品.| 久久精品国产亚洲av高清一级| 免费女性裸体啪啪无遮挡网站| 丝袜人妻中文字幕| 在线观看免费午夜福利视频| 成熟少妇高潮喷水视频| 脱女人内裤的视频| 97人妻天天添夜夜摸| 国产野战对白在线观看| 久久天躁狠狠躁夜夜2o2o| 黑人欧美特级aaaaaa片| 欧美一区二区精品小视频在线| 国产精品爽爽va在线观看网站 | 性少妇av在线| 国产乱人伦免费视频| 91麻豆精品激情在线观看国产| 久久九九热精品免费| 国产精品野战在线观看| 日韩精品免费视频一区二区三区| 国产欧美日韩一区二区精品| 色综合婷婷激情| 亚洲国产精品999在线| 老鸭窝网址在线观看| xxx96com| 纯流量卡能插随身wifi吗| 亚洲人成77777在线视频| 大码成人一级视频| 亚洲精品中文字幕在线视频| videosex国产| 久久伊人香网站| 亚洲精品国产区一区二| 最近最新中文字幕大全免费视频| 午夜久久久久精精品| 女人被躁到高潮嗷嗷叫费观| 嫩草影院精品99| 亚洲avbb在线观看| 亚洲精品在线美女| av在线天堂中文字幕| 亚洲成a人片在线一区二区| 美女扒开内裤让男人捅视频| 亚洲国产精品成人综合色| 中文字幕人妻熟女乱码| 国内精品久久久久精免费| 日韩欧美国产一区二区入口| 国产成人影院久久av| 久久青草综合色| 国产av在哪里看| 大型av网站在线播放| 两个人看的免费小视频| 欧美在线黄色| 国产极品粉嫩免费观看在线| 9热在线视频观看99| 99精品欧美一区二区三区四区| 午夜老司机福利片| 亚洲av片天天在线观看| 日本免费一区二区三区高清不卡 | av网站免费在线观看视频| 99香蕉大伊视频| 正在播放国产对白刺激| 美国免费a级毛片| 欧美不卡视频在线免费观看 | 午夜久久久在线观看| 欧美 亚洲 国产 日韩一| 午夜a级毛片| 午夜福利视频1000在线观看 | 久久久久久久久久久久大奶| 99国产精品99久久久久| 午夜a级毛片| 麻豆国产av国片精品| 亚洲专区字幕在线| 变态另类丝袜制服| 高清在线国产一区| 亚洲自拍偷在线| 1024视频免费在线观看| av电影中文网址| av视频免费观看在线观看| 波多野结衣一区麻豆| 亚洲专区字幕在线| 亚洲,欧美精品.| 桃色一区二区三区在线观看| 麻豆久久精品国产亚洲av| 丝袜美腿诱惑在线| 欧美大码av| 女人高潮潮喷娇喘18禁视频| tocl精华| 变态另类成人亚洲欧美熟女 | 9热在线视频观看99| 欧美日本中文国产一区发布| 午夜成年电影在线免费观看| 男人舔女人的私密视频| 桃红色精品国产亚洲av| 两性夫妻黄色片| 91九色精品人成在线观看| 久久亚洲精品不卡| 国产精品亚洲av一区麻豆| 一边摸一边做爽爽视频免费| а√天堂www在线а√下载| 国产成人av激情在线播放| 村上凉子中文字幕在线| 一区二区三区精品91| 咕卡用的链子| 亚洲av成人av| 久久草成人影院| 亚洲精品在线美女| 日本 欧美在线| 男男h啪啪无遮挡| 男女下面进入的视频免费午夜 | 少妇的丰满在线观看| 亚洲成人免费电影在线观看| 日韩欧美免费精品| 高潮久久久久久久久久久不卡| 成人三级黄色视频| 国产成人一区二区三区免费视频网站| 一二三四在线观看免费中文在| 精品人妻在线不人妻| 久久久久久久午夜电影| 97人妻精品一区二区三区麻豆 | 亚洲专区字幕在线| 999久久久国产精品视频| 在线观看免费视频网站a站| 日日干狠狠操夜夜爽| 免费在线观看亚洲国产| 色播在线永久视频| 99热只有精品国产| 国产单亲对白刺激| 国产视频一区二区在线看| 99精品欧美一区二区三区四区| 欧美色视频一区免费| 国产精品 欧美亚洲| 无限看片的www在线观看| 老司机靠b影院| 99re在线观看精品视频| а√天堂www在线а√下载| 亚洲免费av在线视频| 欧美乱色亚洲激情| 亚洲视频免费观看视频| 久久久国产成人精品二区| 老汉色∧v一级毛片| 亚洲七黄色美女视频| 法律面前人人平等表现在哪些方面| 日韩精品中文字幕看吧| 最好的美女福利视频网| 琪琪午夜伦伦电影理论片6080| 亚洲av熟女| 桃色一区二区三区在线观看| 国产亚洲精品综合一区在线观看 | 欧美日韩亚洲国产一区二区在线观看| 美女国产高潮福利片在线看| 国产91精品成人一区二区三区| 禁无遮挡网站| 国产精品电影一区二区三区| 久久精品91蜜桃| 亚洲熟妇中文字幕五十中出| 涩涩av久久男人的天堂| 99热只有精品国产| 国产欧美日韩一区二区精品| 可以在线观看毛片的网站| 好男人电影高清在线观看| 一个人免费在线观看的高清视频| 夜夜夜夜夜久久久久| 中国美女看黄片| 日韩一卡2卡3卡4卡2021年| 美国免费a级毛片| 纯流量卡能插随身wifi吗| 十八禁网站免费在线| 欧美色视频一区免费| 一级毛片女人18水好多| 亚洲精品在线美女| 国产一区二区在线av高清观看| 国产麻豆成人av免费视频| 91九色精品人成在线观看| 国产精品久久久av美女十八| 国产成人精品久久二区二区91| 久久久久久亚洲精品国产蜜桃av| 色婷婷久久久亚洲欧美| 免费av毛片视频| 又大又爽又粗| 精品国内亚洲2022精品成人| 日韩欧美国产一区二区入口| 18禁美女被吸乳视频| 国内久久婷婷六月综合欲色啪| 久久久久久免费高清国产稀缺| 久久精品人人爽人人爽视色| 老司机午夜福利在线观看视频| 黑人巨大精品欧美一区二区mp4| 人人妻人人爽人人添夜夜欢视频| 可以在线观看的亚洲视频| 50天的宝宝边吃奶边哭怎么回事| 日韩中文字幕欧美一区二区| 午夜福利一区二区在线看| 性色av乱码一区二区三区2| 高清在线国产一区| 亚洲欧美日韩另类电影网站| 日本精品一区二区三区蜜桃| 波多野结衣一区麻豆| 欧美日本视频| 美女免费视频网站| 18美女黄网站色大片免费观看| 精品一区二区三区av网在线观看| 国产欧美日韩一区二区三区在线| 欧美激情高清一区二区三区| 成熟少妇高潮喷水视频| 精品少妇一区二区三区视频日本电影| 亚洲熟妇熟女久久| 十分钟在线观看高清视频www| 一本综合久久免费| 人人妻人人澡欧美一区二区 | 91老司机精品| 每晚都被弄得嗷嗷叫到高潮| 色综合站精品国产| 精品国产一区二区久久| www日本在线高清视频| 黄色女人牲交| 一区二区三区精品91| 在线国产一区二区在线| 精品国产一区二区三区四区第35| www.www免费av| 中文字幕av电影在线播放| 乱人伦中国视频| 日韩av在线大香蕉| 国产在线精品亚洲第一网站| 亚洲 国产 在线| 狠狠狠狠99中文字幕| 亚洲免费av在线视频| 色老头精品视频在线观看| 久热这里只有精品99| 一区在线观看完整版| 亚洲一区二区三区不卡视频| 午夜a级毛片| 麻豆国产av国片精品| 91在线观看av| 日韩欧美一区视频在线观看| 久久久国产成人免费| 国产精品亚洲美女久久久| 欧美午夜高清在线| 波多野结衣一区麻豆| 中文字幕精品免费在线观看视频| 久久婷婷人人爽人人干人人爱 | 亚洲国产欧美网| 久久精品国产亚洲av香蕉五月| 欧美人与性动交α欧美精品济南到| 久久精品亚洲熟妇少妇任你| 精品乱码久久久久久99久播| 久久久精品国产亚洲av高清涩受| 欧美乱码精品一区二区三区| 日本欧美视频一区| 久久性视频一级片| 精品卡一卡二卡四卡免费| 久久人人97超碰香蕉20202| 日本a在线网址| 法律面前人人平等表现在哪些方面| 亚洲精品国产区一区二| 男女之事视频高清在线观看| 最近最新中文字幕大全电影3 | 一级a爱片免费观看的视频| 高清毛片免费观看视频网站| 精品高清国产在线一区| 涩涩av久久男人的天堂| 丝袜人妻中文字幕| 亚洲精品av麻豆狂野| а√天堂www在线а√下载| 精品一区二区三区av网在线观看| 自线自在国产av| 日本 欧美在线| 色综合婷婷激情| 国产一卡二卡三卡精品| 97超级碰碰碰精品色视频在线观看| 亚洲午夜精品一区,二区,三区| 午夜福利,免费看| 最新在线观看一区二区三区| 亚洲欧美精品综合一区二区三区| 狠狠狠狠99中文字幕| 女性被躁到高潮视频| 99国产精品一区二区蜜桃av| 九色亚洲精品在线播放| 男人的好看免费观看在线视频 | 欧美精品啪啪一区二区三区| 久久久久久久久久久久大奶| 亚洲中文字幕日韩| 午夜精品久久久久久毛片777| 动漫黄色视频在线观看| 亚洲一码二码三码区别大吗| 久久青草综合色| 成人三级黄色视频| 禁无遮挡网站| 精品国产国语对白av| av视频免费观看在线观看| 亚洲色图 男人天堂 中文字幕| 可以在线观看毛片的网站| 午夜福利一区二区在线看| 精品无人区乱码1区二区| 夜夜看夜夜爽夜夜摸| cao死你这个sao货| av免费在线观看网站| 国产精品 国内视频| 麻豆成人av在线观看| 亚洲一码二码三码区别大吗| 色播在线永久视频| 18禁国产床啪视频网站| 精品国产一区二区久久| 黑人巨大精品欧美一区二区mp4| 极品教师在线免费播放| 黑人操中国人逼视频| 久久久精品欧美日韩精品| 国产精品亚洲美女久久久| 狠狠狠狠99中文字幕| 欧美日韩精品网址| 国产色视频综合| 丝袜在线中文字幕| 国内精品久久久久久久电影| 国产亚洲精品第一综合不卡| 美女扒开内裤让男人捅视频| 精品乱码久久久久久99久播| 真人做人爱边吃奶动态| 亚洲精品国产精品久久久不卡| 国产aⅴ精品一区二区三区波| 在线视频色国产色| 欧美成狂野欧美在线观看| 又黄又粗又硬又大视频| 国产精品二区激情视频| 夜夜躁狠狠躁天天躁| 日韩三级视频一区二区三区| 亚洲一区二区三区不卡视频| 欧美在线一区亚洲| 亚洲人成网站在线播放欧美日韩| 在线观看免费午夜福利视频| 久久久国产欧美日韩av| 国内久久婷婷六月综合欲色啪| 啦啦啦观看免费观看视频高清 | 一区二区三区精品91| 久久精品亚洲精品国产色婷小说| 国产精品免费一区二区三区在线| 久久精品国产99精品国产亚洲性色 | 国产xxxxx性猛交| 日韩欧美在线二视频| 日韩欧美三级三区| www.熟女人妻精品国产| 中文字幕人成人乱码亚洲影| 国产精品秋霞免费鲁丝片| 国产视频一区二区在线看| 一夜夜www| 9191精品国产免费久久| 天天添夜夜摸| 97人妻天天添夜夜摸| 青草久久国产| 国产精品影院久久| 免费久久久久久久精品成人欧美视频| 男女床上黄色一级片免费看| 亚洲国产日韩欧美精品在线观看 | 精品久久蜜臀av无| 色综合亚洲欧美另类图片| 正在播放国产对白刺激| 日韩 欧美 亚洲 中文字幕| 国产区一区二久久| 亚洲一区二区三区色噜噜| av视频在线观看入口| 亚洲午夜理论影院| 国产av一区在线观看免费| 一二三四社区在线视频社区8| 精品高清国产在线一区| 欧美在线一区亚洲| 999精品在线视频| 国产精品秋霞免费鲁丝片| 国产一区在线观看成人免费| 精品久久久久久久久久免费视频| 嫩草影院精品99| 亚洲午夜精品一区,二区,三区| 男女下面插进去视频免费观看| 无限看片的www在线观看| 美女高潮到喷水免费观看| 高清在线国产一区| 97人妻精品一区二区三区麻豆 | 欧美黄色淫秽网站| 国产av一区二区精品久久| 淫妇啪啪啪对白视频| 露出奶头的视频| 欧美不卡视频在线免费观看 | 母亲3免费完整高清在线观看| 亚洲中文字幕一区二区三区有码在线看 | 精品国内亚洲2022精品成人| 男女做爰动态图高潮gif福利片 | 窝窝影院91人妻| 亚洲精品美女久久av网站| 午夜福利影视在线免费观看| 这个男人来自地球电影免费观看| 97碰自拍视频| 午夜成年电影在线免费观看| 19禁男女啪啪无遮挡网站| 两性午夜刺激爽爽歪歪视频在线观看 | 国产主播在线观看一区二区| 怎么达到女性高潮| 欧美激情高清一区二区三区| 黄网站色视频无遮挡免费观看| 国产麻豆69| 韩国精品一区二区三区| 别揉我奶头~嗯~啊~动态视频| 亚洲成人免费电影在线观看| 午夜亚洲福利在线播放| 色播在线永久视频| 90打野战视频偷拍视频| 国产99久久九九免费精品| 一二三四社区在线视频社区8| xxx96com| 亚洲九九香蕉| 一区二区三区激情视频| 最新在线观看一区二区三区| 精品乱码久久久久久99久播| 国产成+人综合+亚洲专区| 日韩大码丰满熟妇| 乱人伦中国视频| 丰满人妻熟妇乱又伦精品不卡| 琪琪午夜伦伦电影理论片6080| 成人国产综合亚洲| 国产极品粉嫩免费观看在线| 精品人妻1区二区| e午夜精品久久久久久久| 免费看a级黄色片| 性少妇av在线| 91字幕亚洲| 麻豆国产av国片精品| 不卡一级毛片| 久9热在线精品视频| 波多野结衣高清无吗| 午夜福利成人在线免费观看| 19禁男女啪啪无遮挡网站| 亚洲一区中文字幕在线| 在线观看日韩欧美| av欧美777| 久久 成人 亚洲| 一个人观看的视频www高清免费观看 | 十八禁网站免费在线| 精品卡一卡二卡四卡免费| 极品教师在线免费播放| 欧美日本视频| 精品久久久久久久毛片微露脸| 精品国内亚洲2022精品成人| 欧美日本中文国产一区发布| 看黄色毛片网站| 久久天躁狠狠躁夜夜2o2o| 神马国产精品三级电影在线观看 | 99久久综合精品五月天人人| 啦啦啦 在线观看视频| 免费无遮挡裸体视频| 国产成人av教育| 色综合亚洲欧美另类图片| 9191精品国产免费久久| 久久久久九九精品影院| 亚洲欧美日韩无卡精品| 看免费av毛片| 久久亚洲真实| 婷婷精品国产亚洲av在线| 首页视频小说图片口味搜索| 巨乳人妻的诱惑在线观看| 成年女人毛片免费观看观看9| 无遮挡黄片免费观看| 人人妻人人澡人人看| 97碰自拍视频| 欧洲精品卡2卡3卡4卡5卡区| 亚洲av电影在线进入| 亚洲成人免费电影在线观看| 久久精品国产99精品国产亚洲性色 | www.www免费av| 91成人精品电影| 精品国产乱子伦一区二区三区| 国产成人精品无人区| 大型黄色视频在线免费观看| 正在播放国产对白刺激| 制服丝袜大香蕉在线| 老汉色∧v一级毛片| 免费久久久久久久精品成人欧美视频| 91成年电影在线观看| 精品福利观看| 国产亚洲av嫩草精品影院| 一区二区三区高清视频在线| 女警被强在线播放| 18禁观看日本| 国产麻豆成人av免费视频| 老熟妇仑乱视频hdxx| 免费在线观看亚洲国产| 国产一卡二卡三卡精品| 欧美性长视频在线观看| 精品熟女少妇八av免费久了| 他把我摸到了高潮在线观看| 国产伦一二天堂av在线观看| 后天国语完整版免费观看| 国产高清激情床上av| 91九色精品人成在线观看| 精品欧美国产一区二区三| 午夜a级毛片| 99久久99久久久精品蜜桃| 成年人黄色毛片网站| 在线观看免费视频网站a站| 欧美日本视频| 亚洲色图 男人天堂 中文字幕| 久久亚洲精品不卡| 国产99久久九九免费精品| av在线天堂中文字幕| 免费无遮挡裸体视频| 一本久久中文字幕| 国产一级毛片七仙女欲春2 | 久久久精品国产亚洲av高清涩受| 18禁国产床啪视频网站| 色婷婷久久久亚洲欧美| 国内精品久久久久久久电影| 99国产精品免费福利视频| 一级a爱视频在线免费观看| 性欧美人与动物交配| 琪琪午夜伦伦电影理论片6080|