(1)兩者之間的共同**都是建立shape介面,然後分別建立circle、rectangle、square這三個類,實現shape介面方法即可。
不同之處在建立工廠類上。
簡單工廠:只建立乙個工廠類
packagecn.zyy.design.mode.******factory;
public
class******factory }}
客戶端只需要呼叫類的靜態方法getshape
,並且傳入相應的引數,就能實現對應類的物件的建立。
工廠方法:需要建立乙個介面(
ifactory)和3
個類(rectanglefactory
、circlefactory
、squarefactory)
實現**:
public
inte***ceifactory
public
classrectanglefactoryimplementsifactory }
public
classcirclefactoryimplementsifactory }
public
classsquarefactoryimplementsifactory }
跟簡單工廠相比,工廠方法在建立物件的工廠類也使用了介面來實現,滿足了開閉原則(對擴充套件開放,對修改關閉),如果需要新增加了shape實現類,那麼只需增加乙個實現類和乙個對應的實現工廠類,原有的**不需要變動。缺點是客戶端需要進行選擇使用什麼樣的工廠類來建立什麼樣的shape物件。
設計模式之工廠模式(簡單工廠 工廠模式 抽象工廠)
參考博文 侵權必刪 什麼是工廠模式 通過 物件建立 模式繞開new,來避免物件建立 new 過程中所導致的緊耦合 依賴具體類 適用性 使用new建立物件且導致緊耦合的場景。思考 物件導向程式設計要以動態的思維去看待 換句話說,在看 時需要時間概念,發現 在未來的穩定之處和變化之處。一般介面和抽象類是...
設計模式 工廠模式之簡單工廠模式
定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...
設計模式 工廠模式之簡單工廠
工廠模式可以分為 簡單工廠模式 普通工廠模式 靜態工廠模式 抽象工廠模式 簡單工廠模式 就是如何去例項化物件的問題,對於很容易變化的問題,應該考慮用乙個單獨的類來做這個創造例項的過程,這個單獨的類就是工廠 例子 通過簡單工廠建立各種圖形的實現過程 簡單工廠模式建立步驟 建立乙個介面 例 圖形介面 建...