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

2021-08-14 23:02:24 字數 1827 閱讀 7754

工廠方法模式分為三種:1、普通工廠模式  2、多個工廠模式  3、靜態工廠模式

1、定義乙個介面類

package com.dairuijie.factory;

/** * 動物介面

* @author drjyy

* */

public inte***ce anaimal

2、定義實現介面的類

package com.dairuijie.factory;

/** * 狗

* @author drjyy

* */

public class dog implements anaimal

}

package com.dairuijie.factory;

/** * 貓

* @author drjyy

* */

public class cat implements anaimal

}

3、定義工廠類

package com.dairuijie.factory;

/** * 普通工廠模式 這個就是工廠類負責通過type 來生產對應的物件 缺點:如果傳遞的字串出錯,則不能正確建立物件

* * @author drjyy

* */

public class factory else if ("cat".equals(type)) else

}}

/**

* 多個工廠方法模式 針對普通方法改進防止輸入字串出錯

* * @author drjyy

* */

public class factory

public anaimal catproduce()

}

/**

* 靜態工廠方法模式

* * 針對多個工廠方法模式 改進使用靜態方法直接呼叫不需要再去new 物件

* @author drjyy

* */

public class factory

public static anaimal catproduce()

普通工廠測試:

package com.dairuijie.factory;

public class factorytest

}

多個工廠測試:

package com.dairuijie.factory;

public class factorytest

}

靜態工廠模式測試:

package com.dairuijie.factory;

public class factorytest

}

總結:工廠模式適合:凡是出現了大量的不同的物件需要建立,並且具有共同的介面時,可以通過工廠方法模式進行建立。在以上的三種模式中,第一種如果傳入的字串有誤,不能正確建立物件,第三種相對於第二種,不需要例項化工廠類,所以,大多數情況下,我們會選用第三種——靜態工廠方法模式。

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

l 工廠方法模式概述 工廠方法模式中抽象工廠類負責定義建立物件的介面,具體物件的建立工作由繼承抽象工廠的具體類實現。l 優點 客戶端不需要在負責物件的建立,從而明確了各個類的職責,如果有新的物件增加,只需要增加乙個具體的類和具體的工廠類即可,不影響已有的 後期維護容易,增強了系統的擴充套件性 l 缺...

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

工廠方法模式分為三種 普通工廠模式 多個工廠方法模式 靜態工廠方法模式。1 普通工廠模式 以發郵件和簡訊的例子說明。結構如下圖所示 主要分為四個步驟 建立各例項的共同介面 建立各功能例項 建立工廠 主程式。請看如下示例 public class factorymethodmodel 建立二者的共同介...

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

一 工廠方法 factory method 模式 工廠方法模式的意義是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個 抽象工廠 角色,僅負責具體工廠子類必須實現的介面,這樣進一步 抽象化的好處是使得工廠方法 模式可以使系統在不修改具體工...