1. 程式人生 > 其它 >2 設計模式之抽象工廠模式

2 設計模式之抽象工廠模式

技術標籤:java設計模式23種

抽象工廠模式

抽象工廠模式是在工廠方法模式上演化來的,即對所有的工廠抽象出來其所有公共介面,通過介面的使用來代替具體工廠的使用。

優點:

  • 使用抽象工廠代替具體工廠的使用,使得工廠橫向易替換。

缺點:

  • 抽象工廠新增加一個方法時,所有具體工廠都需要改變。

舉例

對蘋果工廠和梨工廠進行抽象

public class IFFactory {
      Fruit create();
}

建立一個蘋果工廠,並實現介面工廠

public class AppleFactory implements IFFactory{
      publice Fruit create
() { return new Apple(); } }

建立一個梨工廠,並實現介面工廠

public class PearFactory implements IFFactory{
      public Fruit create() {
            return new Pear();
      }
}

呼叫者

public class User {
      private void eat() {
            IFFactory appleFactory = new AppleFactory();
            Fruit apple =
appleFactory.create(); IFFactory pearFactory = new PearFactory(); Fruit pear = pearFactory.create(); apple.eat(); pear.eat(); } }