設計模式之工廠方法模式

2021-08-26 02:15:58 字數 1386 閱讀 8924

工廠方法模式:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類.工廠方法使乙個類的例項化延遲到其子類

對比簡單工廠

簡單工廠模式的最大優點是 工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴

工廠方法模式實現時,客戶端需要決定例項化哪乙個工廠來實現運算類,工廠方法把簡單工廠的內部邏輯判斷移到了客戶端**來進行,你想要加功能的時候,本來是改工廠類,而現在是修改客戶端.

簡單工廠實現加減乘除

public static void main(string args)

public class operationfactory

return oper;}}

public abstract  class operation

public void set_numbera(double _numbera)

public double get_numberb()

public void set_numberb(double _numberb)

public  abstract double getresult() ;

}/**

* 加法 減乘除略

* @author guk**/

public class operateadd extends operation

}工廠方法模式實現:

//頂級工廠介面

public inte***ce factory

public static void main(string args)

/*** 加減工廠類

* @author guk**/

public class operationaddandsubfactory implements factory

return oper;}}

/***乘除工廠類 

* @author guk**/

public class operationmulanddivfactory implements factory

return oper;}}

public abstract class operation

public void set_numbera(double _numbera)

public double get_numberb()

public void set_numberb(double _numberb)

public abstract  double getresult() ;

}/**

* 加法

* @author guk**/

public class operateadd extends operation

}

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

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

設計模式之工廠方法模式

package com.csair.design.pattern 工廠方法,有抽象基類,每個子類生產乙個具體物件,與抽象工廠的關係是,抽象工廠生產多個產品 產品有某種內在聯絡 工廠方法只生產乙個物件 author ppt public class factorymethod public stati...

設計模式之工廠方法模式

在介紹工廠方法模式之前,先來介紹一下簡單工廠。什麼是簡單工廠?在類中,難免要例項化一些類,那麼我們把這些類的例項化抽離出來封裝成乙個工廠類,工廠類提供乙個公共的靜態或非靜態的方法來返回其他物件所需要的物件。這樣做的目的就是將物件的例項化與邏輯 分開,提高 的復用能力。這就是簡單工廠。public a...