DDD~DDD從零起步架構說(shuo)明
看了傳說中的弦哥對園子里.Net項目分層與文件夾結構大全(最佳架子獎,吐槽獎,陰溝翻船獎揭曉),我(wo)也來(lai)說說我(wo)的DDD架構吧,主要(yao)是看了(le)微軟NlayerApp之后(hou),自(zi)己寫的一個,以(yi)后(hou)將會應用到我(wo)的項目之中。
架構說明:
0-Modeling and Design:架(jia)構(gou)的(de)(de)UML層次圖(tu),我認為每個項目的(de)(de)架(jia)構(gou)都應該先(xian)有UML圖(tu),再是進行具體的(de)(de)代碼設計
1-Presentation:UI層,它(ta)的(de)實現是多種(zhong)的(de),你可以(yi)是B/s的(de)webpage,web mvc,web api,也可以(yi)是C/s的(de)winform,wpf等(deng)等(deng)
2-Application:這一層(ceng)是網絡應用(yong)層(ceng),它可以進行郵件,短(duan)信等功能的實現
3-Service:這(zhe)一層為(wei)DDD分(fen)布式業務層,主要用來與(yu)Webservice,webapi,wcf等網(wang)絡(luo)服務進行通訊,它(ta)可以(yi)由UI層直(zhi)接調用
4-Domain:這是DDD的核(he)心層,位于(yu)最底層,其它(ta)層需要直(zhi)接或者(zhe)間(jian)接的引用它(ta),它(ta)由業務實(shi)體,業務規則和業務規范(fan)組成(cheng)
5-Infrastructure:這是數據持(chi)久(jiu)化層,主要實現(xian)了(le)數據持(chi)久(jiu)化的方(fang)式,可以由(you)ORM工具實現(xian),或者ADO實現(xian),或者NOSQL實現(xian)
6-Project.Common:這是功能類庫層,主要是對某(mou)種公(gong)用的功能進行的實(shi)現(xian),時(shi)日志(zhi),緩存(cun),異(yi)常(chang)等等
7-DLL:這是(shi)第三(san)方類庫(ku),可以直接放在這個(ge)文件夾(jia)里
這就是我的DDD項目的架(jia)構(gou),希望大家(jia)多(duo)多(duo)探討!