美文网首页
抽象工厂模式

抽象工厂模式

作者: wendy__xu | 来源:发表于2020-11-27 10:51 被阅读0次

抽象工厂模式

定义:

抽象工厂模式和工厂模式很相似,只是它利用接口或者抽象类定义了一个产品族,例如定义一个拨号产品族,只定义功能,不关心实现,具体实现交给Android、ios等操作系统自己完成。

角色:抽象工厂、具体工厂、抽象产品族、抽象产品、具体产品

实现如下:

//抽象产品族
//abstract class Product{}
//抽象产品
public abstract class AbstractProductA {}
public abstract class AbstractProductB {}

//具体产品A1
public class ConcreteProductA1 extends AbstractProductA {}
//具体产品A2
public class ConcreteProductA2 extends AbstractProductA {}

//具体产品B1
public class ConcreteProductB1 extends AbstractProductB {}
//具体产品B2
public class ConcreteProductB2 extends AbstractProductB {}

//抽象工厂
public abstract class AbstractFactory{
    public abstract AbstractProductA createProductA();
    public abstract AbstractProductB createProductB();
}
//具体工厂
public class ConcreteFactoryA extends AbstractFactory{
    @override
    public AbstractProductA createProductA(){
        return new ConcreteProductA1();
    }]
         @override
    public AbstractProductB createProductB(){
        return new ConcreteProductB1();
    }
}
  • 优点:

    1. 降低耦合
    1. 符合开闭原则
    1. 符合单一指责原则
    1. 不适用静态工厂方法,可以形成基于继承的等级结构。
  • 缺点:难以扩展新种类产品

    大家有什么不清楚的地方可点击下面链接,尤为详细。

    工厂模式

相关文章

网友评论

      本文标题:抽象工厂模式

      本文链接:https://www.haomeiwen.com/subject/lyxiiktx.html