2.4 Conclusion

  • Simple Factory: 選擇實現, 選擇單個產品的實作, 通常只有一層(不延遲到子類)

  • Factory: 延遲到子類實現, 選擇單個產品的實作

  • Abstract Factory: 選擇產品族的實現, 為一系列有關聯的物件服務. 若將抽象工廠內的方法簡化到只有一個方法(即直接創建產品, 但產品內容延後到子類組裝), 其實就幾乎等同於工廠模式了

所以這三個pattern基本上是一樣的, 但是由於目的不同而導致層級複雜與否.

Last updated