2 設計模式之抽象工廠模式
阿新 • • 發佈:2021-01-03
技術標籤: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();
}
}