首页 > 其他分享 >Book-深入设计模式-抽象工厂模式

Book-深入设计模式-抽象工厂模式

时间:2023-03-05 18:24:25浏览次数:48  
标签:代码 接口 工厂 Book 抽象 产品 设计模式

Book-深入设计模式-抽象工厂模式

https://refactoringguru.cn/design-patterns/abstract-factory

抽象工厂模式
亦称: Abstract Factory

抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象, 而无需指定其具体类。

![](.\abstract-factory structure.png)

抽象工厂模式适合应用场景

  1. 如果代码需要与多个不同系列的相关产品交互, 但是由于无法提前获取相关信息, 或者出于对未来扩展性的考虑, 你不希望代码基于产品的具体类进行构建, 在这种情况下, 你可以使用抽象工厂。
    抽象工厂为你提供了一个接口, 可用于创建每个系列产品的对象。 只要代码通过该接口创建对象, 那么你就不会生成与应用程序已生成的产品类型不一致的产品。

  2. 如果你有一个基于一组抽象方法的类, 且其主要功能因此变得不明确, 那么在这种情况下可以考虑使用抽象工厂模式。
    在设计良好的程序中, 每个类仅负责一件事。 如果一个类与多种类型产品交互, 就可以考虑将工厂方法抽取到独立的工厂类或具备完整功能的抽象工厂类中。

实现方式

  1. 以不同的产品类型与产品变体为维度绘制矩阵。

  2. 为所有产品声明抽象产品接口。 然后让所有具体产品类实现这些接口。

  3. 声明抽象工厂接口, 并且在接口中为所有抽象产品提供一组构建方法。

  4. 为每种产品变体实现一个具体工厂类。

  5. 在应用程序中开发初始化代码。 该代码根据应用程序配置或当前环境, 对特定具体工厂类进行初始化。 然后将该工厂对象传递给所有需要创建产品的类。

  6. 找出代码中所有对产品构造函数的直接调用, 将其替换为对工厂对象中相应构建方法的调用。

标签:代码,接口,工厂,Book,抽象,产品,设计模式
From: https://www.cnblogs.com/yongchao/p/17181213.html

相关文章

  • Book-深入设计模式-工厂方法模式
    Book-深入设计模式-工厂方法模式https://refactoringguru.cn/design-patterns/factory-method工厂方法模式亦称:虚拟构造函数、VirtualConstructor、FactoryMethod工......
  • 《设计模式之禅》Strategy_Pattern--策略模式
    写在前面设计模式之禅这本书也是博主看了几本设计模式的开头才决定以这本书作为学习设计模式的资料。像小傅哥的重学Java设计模式,好处是以真实的项目案例的逻辑来搭配设计模......
  • 静态类和非静态类 抽象类
    静态类和非静态类静态类只能是内部类,外部类不能用static修饰,内部类可以使用static修饰。创建方式:外部类.静态内部类对象名=外部类.new静态内部类();外部类对象名=ne......
  • Jupter Notebook 常见问题
    不会自动打开浏览器问题https://www.iotword.com/6147.html默认工作路径的设置https://www.cnblogs.com/yuyanc/p/16434487.html导入ipynb文件方法https://www.cnblog......
  • Java基础——接口和抽象类异同及其特点
     抽象类链接:https://www.runoob.com/java/java-abstraction.html接口链接:https://www.runoob.com/java/java-interfaces.html......
  • MacBook里从微信上下载文件后打开,都显示的只读模式,怎么解决?
    yds@ydsdeAir~%sudochmod-R755/Users/yds/Library/Containers/com.tencent.xinWeChat/Data/Library/Application\Support/com.tencent.xinWeChat/可以修改微信文......
  • 设计模式篇之一文搞懂如何实现单例模式
    设计模式篇之一文搞懂如何实现单例模式大家好,我是小简,这一篇文章,6种单例方法一网打尽,虽然单例模式很简单,但是也是设计模式入门基础,我也来详细讲讲。DEMO仓库:https://gi......
  • MacBookPro安装Windows10单系统的4个小坑
    MacbookPro安装Windows10 从入门到精通0、前言:一个朋友买了MacBookPro一直用Mac系统,因为工作原因经常涉及到Office的一些功能,使用起来多有不便于是让我帮忙看看......
  • Book-深入设计模式
    Book-深入设计模式https://refactoringguru.cn/design-patternshttps://github.com/RefactoringGuruhttps://github.com/RefactoringGuru/design-patterns-cpp设计模......
  • Redmibook 14 EE 电脑 Hackintosh 黑苹果efi引导文件
    硬件型号驱动情况主板Redmibook14EE处理器IntelCorei5-10210Uandi7已驱动内存16GBLPDDR4X3200MHz已驱动硬盘金士顿512G已驱动显卡IntelUHDGraphics10thGen,NV......