領域驅動設計學習 模型驅動設計的構造塊

2021-05-25 08:51:33 字數 614 閱讀 6779

分離領域

使用者介面層:負責向使用者顯示資訊和解釋使用者指令

應用層:定義軟體要完成的任務

領域層:負責表達業務概念

基礎設施層:為上面各層提供通用的技術能力

各層之間應該保持低的耦合度,上層可以呼叫下層。

軟體中所表示的模型

實體:當乙個物件由其標識區分時,那麼在模型中應該主要通過標識來確定該物件的定義。標識是可以區分其他物件的標誌。個人理解,實體表示了單個的物件,可以區別於其他物件。

值物件:物件無標識。值物件是不可變的。個人理解,值物件是乙個存在恆定的值,並不能嚴格意思上講是乙個物件,它只能說是乙個物件的乙個屬性,表示屬性的乙個一些意義,如「位址」等客觀上恆定存在資訊。

服務:有時候有些物件不能歸結為值物件或實體。

領域物件的生命週期

聚合(aggregate): 定義清晰的所屬關係和邊界,並且避免混亂。

工廠(factory): 建立和重建複雜物件,通過聚合封裝它們的內部結構。

儲存庫(repository):提供查詢和檢索持久物件並封裝龐大的基礎設施

領域驅動設計學習 模型驅動設計的構造塊

分離領域 使用者介面層 負責向使用者顯示資訊和解釋使用者指令 應用層 定義軟體要完成的任務 領域層 負責表達業務概念 基礎設施層 為上面各層提供通用的技術能力 各層之間應該保持低的耦合度,上層可以呼叫下層。軟體中所表示的模型 實體 當乙個物件由其標識區分時,那麼在模型中應該主要通過標識來確定該物件的...

學習領域驅動設計

軟體開發通常被應用到真實世界中已經存在的自動化流程,或者給真實的業務問題提供解決方案,即要自動化的業務流程或者可以用軟體解決的現實問題。從一開始,我們就必需明白軟體脫胎於領域,並跟領域密切相關。軟體是由 最終構成的。也許我們被 所 在它上面花費了太多的時間,將軟體看作是簡單的物件或者方法。領域驅動設...

領域驅動設計系列 二 領域模型

領域驅動設計裡有很多東西,我們可以應用在各種各樣的開發模式裡,所以接下來說的一些東西,我們可以部分使用。說道領域驅動的領域,大家肯定就要開始說bounded context,聚合,聚合根,容易讓大家搞糊塗。我覺得先拋開這些概念,後面再來說如何設計聚合,先簡單來說。過去,我們在多層設計裡定義了很多mo...