.net core開源框架真是太少了,這裡推薦一個口碑不錯的

.net core開源框架真是太少了,這裡推薦一個口碑不錯的

.net core開源框架真是太少了,這裡推薦一個口碑不錯的

Clean Architecture的目的之一,是通過一種清晰的方式,把應用的業務邏輯封裝起來。

上圖展示了該架構,其中領域實體(Entity)和用例(Use case)處於“洋蔥”的中心。

Uncle Bob:

用一組同心圓表示不同層級的軟件代碼,總的來說,越往內,抽象層次越高。最外層的圈代表的是機制級別的系統。最內層的代表的是策略級別的系統。

注意圖中的依賴方向指出,代碼依賴只能使由外向內。在實踐中,這意味著你需要把描述業務邏輯的代碼從具體交付機制(UI是web還是app,數據存放在數據庫還是NoSql,等等)中分離出來。

這樣能確保你的業務規則能獨立存在,而不依賴於具體的框架選擇和實現。

這樣做有以下好處:

  • 分離關注點。
  • 業務規則代碼只描述業務領域,不關注其他。
  • 在更換數據存儲或web框架時,不需要改變業務邏輯代碼。
  • 業務規則易於測試。
  • 業務規則易於重構。

向內依賴規則不僅限制業務規則,其他各處也都需要遵循。但隔離業務規則是Clean Architecture提供的最有價值的一點。


分享到:


相關文章: