首页 > 其他 > 详细

抽象工厂模式

时间:2020-01-17 00:29:11      阅读:90      评论:0      收藏: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.cnblogs.com/milovetingting/p/12203780.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!