我是靠谱客的博主 任性羽毛,最近开发中收集的这篇文章主要介绍工厂方法模式1. 工厂方法模式的动机与定义2. 工厂方法模式结构与分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1. 工厂方法模式的动机与定义

1.1 工厂方法模式的动机

在简单工厂方法中,我们实现了对于在客户端使用工厂创建产品对象时的开闭,在事先定义的产品可以在创建端做到完全开闭,但是在我们需要对产品进行扩展的时候就会丧失掉开闭性。因为一旦有新的产品加入后,就必须在工厂类中修改创建方法,就违背了开闭原则!

1.2 工厂方法模式的定义

工厂方法模式又称工厂模式,也叫虚拟构造器模式或者多态工厂模式,它属于类创建型模式。在工厂方法模式中,工厂类父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中,即通过工厂子类来确定究竟应该实例化哪一个具体的产品类。

2. 工厂方法模式结构与分析

2. 1 模式结构

工厂方法模式结构图

  • Product(抽象产品)

抽象产品是定义产品的接口,是工厂方法所创建对象的超类型,也就是产品对象的共同父类或者接口

  • ConcreteProduct (具体的产品)

具体的产品实现了抽象产品的接口,某种类型的具体产品由专门的具体工厂负责创建,它们之间一一对应。

  • Factory(抽象工厂)

在抽象工厂类中,声明了工厂方法,用于返回一个产品。抽象工厂是工厂方法模式的核心,它与应用程序无关。任何在模式中创建工厂对象类都必须实现该接口。

  • ConcreteFactory

具体工厂是抽象工厂类的子类,实现了抽象方法中定义的工厂方法,并可以由客户调用,返回一个具体产品类的实例。在具体工厂类中包含应用程序密切相关的逻辑,并且接受应用程序调用以创建的产品对象

2.2 模式分析

工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了面向对象的多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责对于所有产品创建,而是一对一负责生产的方式,由具体的工厂类负责具体的产品。

最后

以上就是任性羽毛为你收集整理的工厂方法模式1. 工厂方法模式的动机与定义2. 工厂方法模式结构与分析的全部内容,希望文章能够帮你解决工厂方法模式1. 工厂方法模式的动机与定义2. 工厂方法模式结构与分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(25)

评论列表共有 0 条评论

立即
投稿
返回
顶部