美文网首页
抽象工厂模式

抽象工厂模式

作者: milovetingting | 来源:发表于2020-01-16 23:40 被阅读0次

个人博客

http://www.milovetingting.cn

抽象工厂模式

模式介绍

抽象工厂模式,也是创建型设计模式之一。

模式的定义

为创建一组相关或者相互依赖的对象提供一个接口,而不需要指定它们的具体类。

使用场景

一个对象族有相同的约束时可以使用抽象工厂模式。如,Android,ios都有短信软件和拨号软件,两者都属于软件的范畴,但它们所在的操作系统平台不一样,这时可以使用抽象工厂模式来实现。

简单实现

抽象产品类

public abstract class AbstractProductA {

    public abstract void method();

}

public abstract class AbstractProductB {
    
    public abstract void method();

}

抽象工厂类

public abstract class AbstractFactory {
    
    public abstract AbstractProductA createProductA();
    
    public abstract AbstractProductB createProductB();

}

具体产品类

public class ProductA1 extends AbstractProductA{

    @Override
    public void method() {
        
    }

}

public class ProductA2 extends AbstractProductA{

    @Override
    public void method() {
        
    }

}

public class ProductB1 extends AbstractProductB{

    @Override
    public void method() {
        
    }

}

public class ProductB2 extends AbstractProductB {

    @Override
    public void method() {

    }

}

具体工厂类

public class Factory1 extends AbstractFactory{

    @Override
    public AbstractProductA createProductA() {
        return new ProductA1();
    }

    @Override
    public AbstractProductB createProductB() {
        return new ProductB1();
    }

}

public class Factory2 extends AbstractFactory {

    @Override
    public AbstractProductA createProductA() {
        return new ProductA2();
    }

    @Override
    public AbstractProductB createProductB() {
        return new ProductB2();
    }

}

小结

抽象工厂模式优点:

分离接口与实现

抽象工厂模式缺点:

一是类文件的爆炸性增加,二是不太容易扩展新的产品类,因为每增加一个产品类就需要修改抽象工厂。

相关文章

网友评论

      本文标题:抽象工厂模式

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