看了傳說中的弦哥對園子里.Net項目分層與文件夾結構大全(最佳架子獎,吐槽獎,陰溝翻船獎揭曉),我也來說說我的DDD架構吧,主要是看了微軟NlayerApp之后,自己寫的一個,以后將會應用到我的項目之中。
架構說明:
0-Modeling and Design:架構的UML層次圖,我認為每個項目的架構都應該先有UML圖,再是進行具體的代碼設計
1-Presentation:UI層,它的實現是多種的,你可以是B/s的webpage,web mvc,web api,也可以是C/s的winform,wpf等等
2-Application:這一層是網絡應用層,它可以進行郵件,短信等功能的實現
3-Service:這一層為DDD分布式業務層,主要用來與Webservice,webapi,wcf等網絡服務進行通訊,它可以由UI層直接調用
4-Domain:這是DDD的核心層,位於最底層,其它層需要直接或者間接的引用它,它由業務實體,業務規則和業務規范組成
5-Infrastructure:這是數據持久化層,主要實現了數據持久化的方式,可以由ORM工具實現,或者ADO實現,或者NOSQL實現
6-Project.Common:這是功能類庫層,主要是對某種公用的功能進行的實現,時日志,緩存,異常等等
7-DLL:這是第三方類庫,可以直接放在這個文件夾里
這就是我的DDD項目的架構,希望大家多多探討!