按照領域驅動設計的思路,我們搭建開發框架的解決方案如下: *該解決方案正在改造過程中,會隨著改造的過程逐步完善。 解決方案目錄 對應領域設計層 說明 Infrastructure 基礎設施層 開發的底層類庫 Core 包括緩存、配置、日誌、常用工具、數據訪問等核心組件 Core.Caching.Re ...
按照領域驅動設計的思路,我們搭建開發框架的解決方案如下:
*該解決方案正在改造過程中,會隨著改造的過程逐步完善。
解決方案目錄 |
對應領域設計層 |
說明 |
Infrastructure |
基礎設施層 |
開發的底層類庫 |
Core |
包括緩存、配置、日誌、常用工具、數據訪問等核心組件 |
|
Core.Caching.Redis |
Redis分散式緩存的實現 |
|
Core.Data.Entity |
EntityFramework的封裝類庫 |
|
PlugIns |
主要針對外部產品的封裝SDK,解決方案中暫缺 |
|
Domain |
業務領域層 |
業務領域模型以及業務邏輯 |
Model |
業務領域實體 |
|
Model.Mapping |
業務領域實體的資料庫映射 |
|
Repoistory |
業務領域倉儲實現 |
|
Repoistory.Interface |
業務領域倉儲介面 |
|
Service |
業務領域邏輯實現 |
|
Service.Interface |
業務領域邏輯介面 |
|
AppService |
應用服務層 |
SOA方式,對上層提供服務 |
AppService |
對外提供的應用層服務 |
|
AppService.Interface |
對外應用層服務的介面 |
|
Presentation |
用戶界面表現層 |
針對Windows/Web應用的組件和控制項封裝 |
Web.Library |
Web網站類庫和控制項 |
|
Web.Controls |
Web控制項 |
|
Client |
客戶端 |
客戶端具體的實現 |
Areas |
客戶端的Areas |
|
Common |
公共區域 |
|
DataWare |
數據倉庫區域 |
|
SampleWebApp |
樣例網站 |
|
StaticWebApp |
靜態資源網站 |
|
ConsoleApp |
控制台應用,主要是後臺任務的調用。類似原先的Windows服務 |
|
重點對Areas部分做下說明:我們將客戶端整個應用按照業務模塊進行劃分,可以分為通用區域、門戶區域、數據倉庫區域、工作流和表單區域、CMS區域等等。為了少寫些字,我在表格中只列出了門戶和數據倉庫區域。這樣各個客戶端應用在建立時,只需要引用相關區域即可,不一定把所有的區域都引用進來,這就是所謂的插件方式。以後仔細研究下ApplicationPart的做法,看看能否將Area修改為ApplicationPart。