依賴注入和工廠模式的區別。


工廠模式和依賴注入都是設計模式,可用於增強軟體元件之間的松耦合能力。

工廠設計模式用於建立物件。但是,物件的注入和生命週期管理應該由程式設計師在應用程式中處理。無法在一個地方配置所有內容。因此,程式設計師需要在任何需要的地方呼叫物件建立邏輯,這最終會阻礙松耦合能力。

在 DI 設計模式中,物件的建立、例項的注入和例項的生命週期管理可以在程式碼外部處理。在 Spring 中,例項化、注入和生命週期管理由 IOC 容器處理。

序號關鍵工廠設計模式DI 設計模式
1
物件建立
它用於建立物件。我們有單獨的工廠類包含建立邏輯。
它負責物件的建立和注入。
2
物件的狀態
它負責建立有狀態物件。
它負責建立無狀態物件
3
執行時/編譯時
在編譯時建立物件
在執行時配置物件
4
程式碼更改
如果業務需求發生變化,則可能需要更改物件建立邏輯。
不需要程式碼更改
5
機制
類依賴於工廠方法,而工廠方法又依賴於具體類
父物件和所有依賴物件都可以在一個位置建立

工廠模式示例

static class PizzaFactory{
   public Pizza buildPizza(String pizzaType){
      ........

      Pizza pizza= //create pizza based on type
      return pizza;
   }
}
static void Main(){
   Pizza pizza = PizzaFactory.buildPizza("Greek style");
}

依賴注入示例

public class CustomerExample {
   public Address address
   public CustomerExample(Address address) {
      this.address = address;
   }
}
public class Address {
   ..............
}

更新時間:2020年9月9日

2K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.