二十三種設計模式2 抽象工廠模式

2021-09-26 06:35:07 字數 960 閱讀 2560

工廠方法模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的 問題,如何解決?就用到抽象工廠模式,建立多個工廠類,這樣一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的**。因為抽象工廠不太 好理解,我們先看看圖,然後就和**,就比較容易理解。

1. public inte***ce sender
兩個實現類:

1. public class mailsender implements sender   

6. }

1. public class smssender implements sender   

7. }

兩個工廠類:

1. public class sendmailfactory implements provider   

7. }

1. public class sendsmsfactory implements provider  

7. }

在提供乙個介面:

1. public inte***ce provider
測試類:

1. public class test   

8. }

其實這個模式的好處就是,如果你現在想增加乙個功能:發及時資訊,則只需做乙個實現類,實現sender介面,同時做乙個工廠類,實現provider介面,就ok了,無需去改動現成的**。這樣做,拓展性較好!

二十三種設計模式之工廠模式

工廠模式的核心 例項化物件 原因 有些物件不能直接例項化,比如介面 抽象類及複雜物件的其他依賴 核心 呼叫工廠class的靜態方法例項化物件 以日誌為例 public class staticfactory 核心 先建立工廠物件,之後呼叫工廠方法 例項化工廠模式 public class insta...

設計模式 之二十三種設計模式 工廠方法模式

define an inte ce for creating an object,but let subclasses decide which class to instantiate.factory method lets a class defer instantiation to subcl...

二十三種設計模式 羅列

1 工廠方法模式 factory method 2 抽象工廠模式 abstract factory 3 單例模式 singleton 4 建造者模式 builder 5 原型模式 prototype 6 介面卡模式 adapter 7 裝飾模式 decorator 8 模式 proxy 9 外觀模式...