二 依賴注入 解決耦合

2022-10-06 13:27:08 字數 908 閱讀 4990

二 為什麼依賴注入:

物件導向建模面臨的問題:

資料邊界和行為邊界往往不一致

行為往往跨越多個領域物件:

通過類將行為和其緊密耦合的資料封裝在一起,多領域物件行為在一物件中中必然會導致別的物件需要向該物件暴漏其內部狀態

ddd模式 領域驅動設計(domain driven desing,簡稱ddd):

領域驅動設計就是在可擴充套件性方面: 將複雜多變的業務排除在穩定不變的核心業務之外 : 實現核心業務,利用分層架構抽取複雜業務

鬆散分層架構中: 允許某層與它的任意下方層發生耦合。

嚴格分層架構: 某層只能與位於其直接下方的層發生耦合.

導致兩極:

貧血模型

若將跨越多個領域物件的行為建模在領域服務中。如果這種做法使用過度,則會導致領域物件變成只提供一堆get方法的啞物件

充血模型:

認為方法應該屬於領域物件,所有的業務行為被放在領域物件中,隨著支援的業務場景變多,導致領域物件而變成上帝類,而且類內部方法的抽象層次很難一致。另外由於行為邊界很難恰當,導致物件之間資料訪問關係也比較複雜

解決方式 : 引入依賴, dci模式是ddi補充

依賴設計: 依賴倒置原則dip(dependecy-inversion principle

抽象:即抽象類或介面,兩者是不能夠例項化的。

細節:即具體的實現類,實現介面或者繼承抽象類所產生的類,兩者可以通過關鍵字new直接被例項化。

高層模組不應該依賴於底層模組,兩者都應該依賴於抽象。抽象不應該依賴於細節(實現類),細節應該依賴於抽象.

依賴倒置原則在j**a語言中的表現是:

模組間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或者抽象類產生的;

介面或抽象類不依賴於實現類;實現類依賴介面或抽象類

更多dci設計模型

依賴注入與耦合

依賴注入與耦合 耦合是程式元件間的聯絡。耦合大體上分為兩類 建立型耦合與注入型耦合。建立型耦合又分為組成型耦合與區域性使用型耦合。組成型耦合 耦合物件為主體物件的組成部分 區域性使用型耦合 耦合物件在主體中臨時建立和使用 注入型耦合分為三類 1 注入物件在外部建立,注入到主體物件 目的是依賴的靈活性...

spring 依賴注入 Spring依賴注入

依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...

依賴注入學習筆記(二)深入淺出依賴注入

1 什麼是 元件 和 服務 所謂的 依賴 就是指在實現某個功能模組時需要使用另外乙個 或多個 元件 或 服務 那麼這個所需的 元件 或 服務 將被稱為 依賴 元件 它是可能被作者無法控制的其它應用使用,但使用者不能對其原始碼進行修改的乙個功能模組。服務 指 使用者以同步 或非同步 請求遠端介面來遠端...