設計模式 工廠模式之工廠方法模式

2021-10-03 13:16:58 字數 1163 閱讀 6143

工廠方法模式是指定義乙個建立物件的介面,然後實現這個介面的工廠來決定建立什麼樣的例項。工廠方法讓類的例項推遲到子類中進行。在這個模式中,只關心需要建立的是什麼工廠,不需要關心建立的細節。而且新加入的產品符合開閉原則。

(1) 建立支付介面,裡面定義抽象的支付方法。

package com.gupao.vip.pay.factorymethod;

public inte***ce ipay

(2) 建立工廠介面,提供建立的方法,返回支付介面。

package com.gupao.vip.pay.factorymethod;

public inte***ce ipayfactory

(3) 建立具體的支付類,alipay,wechatpay,實現ipay介面,重寫支付方法。

package com.gupao.vip.pay.factorymethod;

public class alipay implements ipay

}

package com.gupao.vip.pay.factorymethod;

public class wechatpay implements ipay

}

package com.gupao.vip.pay.factorymethod;

public class alipayfactory implements ipayfactory

}

package com.gupao.vip.pay.factorymethod;

public class wechatpayfactory implements ipayfactory

}

package com.gupao.vip.pay.factorymethod;

public class test

}

但同時這種設計模式也有它的缺點。它增加了類的建立個數,提公升了系統的複雜度和可理解度。

所以,工廠方法模式適用的場景是:1.建立物件需要大量重複的**。2.客服端(應用層)不依賴於產品的例項如何被建立。3.乙個類是通過其子類來指定建立物件的。

設計模式之簡單工廠模式 工廠方法模式

簡單工廠模式並不屬於gof23個經典設計模式,但通常作為23個設計模式的基礎。因為在簡單工廠模式中用於建立例項的方法是static方法,所以它也被稱為static factory method pattern.定義 定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父...

白話設計模式 工廠模式之工廠方法模式

簡單工廠雖然對產品生產提供了非常好的封裝,但並沒有遵循物件導向設計的 開放 關閉原則 工廠方法模式可解決這個問題。開放 關閉原則 對擴充套件開放 對修改關閉。什麼意思呢?我的理解是 當我們要擴充套件新功能時,不需要修改原來的 簡單的新增某個類 或繼承某個抽象類 或實現某個介面就可以完成。再看上篇中 ...

工廠模式之工廠方法模式

工廠方法模式 factory method pattern 是指定義乙個建立物件的工廠介面,但讓實現這個介面的類來決定例項化哪個類工廠方法讓類的例項化推遲到子類中進行。在工廠方法模式中使用者只需要關心所需產品對應的工廠,無須關心建立細節,而且加入新的產品符合開閉原則,並且每個工廠只能建立自己的產品,...