23种设计模式之抽象工厂

    今天我来向大家讲解一下什么是工厂模式中的抽象工厂。首先,我们需要知道工厂模式中有一个工厂方法 abstract Product factoryMethod(String type),这个工厂方法用来处理对象的创建,并将这样的行为封装在子类中。

    abstract:工厂方法是抽象的,所以依赖子类来处理对象的创建;Product:工厂方法必须返回一个产品,超类中定义的方法,通常使用到工厂方法的返回值;factoryMethod:工厂方法将客户将客户(也就是超类中的代码)和实际创建具体产品的代码分隔开来。

    就举例披萨来说,当我要到一个披萨店去买披萨的时候,首先披萨店打印订单准备做披萨,做完披萨之后又返回披萨给客户,这其中就用到了工厂模式中的工厂方法,而我们使用工厂模式也是为了尽量在外部改代码而不是内部,减少代码的耦合度,实现对扩展开放,对修改关闭。

    而我们这次讲解的抽象工厂也是工厂模式的一种,抽象工厂使用了依赖倒置的原则,其设计原则是依赖抽象,不要依赖具体类。指导方针如下:1,变量不可以持有具体类的引用,2,不要让类派生自具体类,3,不要覆盖基类中已实现的方法。举例披萨的类图如下:




下面我们就可以训练一下自己的抽象工厂模式学习的如何,举一个手机厂,可以出售华为,vivo等手机,手机的原料主要围主板,电池,显示屏组成,请用抽象工厂实现这一过程,附上代码链接https://pan.baidu.com/s/1uikiFTle4rSvFgB8JE3isg,密码dyz7。








猜你喜欢

转载自blog.csdn.net/masterpieve/article/details/79836730