iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >web抽象工厂模式有哪些优缺点
  • 191
分享到

web抽象工厂模式有哪些优缺点

2023-06-19 10:06:20 191人浏览 安东尼
摘要

这篇“WEB抽象工厂模式有哪些优缺点”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web抽象工厂模式有哪些优缺点”文章吧。协

这篇“WEB抽象工厂模式有哪些优缺点”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web抽象工厂模式有哪些优缺点”文章吧。

协作

• 通常在运行时刻创建(唯一的)一个C o n c r e t e F a c t r o y类的实例。这一具体的工厂创建具有特定实现的产品对象。为创建不同的产品对象,客户应使用不同的具体工厂。

原书的翻译有一点问题,根据以下的英文原文,作者在这里加上了一个修饰词“唯一的”,这样更准确。另外这里所谓不同的产品对象应该是另外一组产品对象的意思。

Normally a single instance of a ConcreteFactory class is created at run-time. This concrete factory creates product objects having a particular implementation. To create different product objects, clients should use a different concrete factory.

还有一个问题,这里只是说的是通常怎么怎么样,并没有说一定怎么怎么样。作者认为,这里想表达的是大多数情况下这样就够了,而不是说这个唯一性是抽象工厂模式的必要条件。

• AbstractFactory将产品对象的创建延迟到它的C o n c r e t e F a c t o r y子类。

这句话的难点是对于“延迟”这个词的理解。一般来说创建对象,然后使用对象是正常的步骤。但是使用了抽象工厂以后,Client可以在自己的代码中使用抽象工厂接口生成对象,然后使用该对象。只有这部分代码真正被执行的时候,才需要具象工厂类创建对象。这个时机甚至可以在Client代码发布之后。

效果

A b s t r a c t F a c t o r y模式有下面的一些优点和缺点:
1) 它分离了具体的类 Abstract Factory模式帮助你控制一个应用创建的对象的类。因为一个工厂封装创建产品对象的责任和过程,它将客户与类的实现分离。客户通过它们的抽象接口操纵实例。产品的类名也在具体工厂的实现中被分离;它们不出现在客户代码中。


2) 它使得易于交换产品系列 一个具体工厂类在一个应用中仅出现一次 — 即在它初始化的时候。这使得改变一个应用的具体工厂变得很容易。它只需改变具体的工厂即可使用不同的产品配置,这是因为一个抽象工厂创建了一个完整的产品系列,所以整个产品系列会立刻改变。在我们的用户界面的例子中,我们仅需转换到相应的工厂对象并重新创建接口,就可实现从M o t i f窗口组件转换为Presentation Manager窗口组件。


3) 它有利于产品的一致性 当一个系列中的产品对象被设计成一起工作时,一个应用一次只能使用同一个系列中的对象,这一点很重要。而 A b s t r a c t F a c t o r y很容易实现这一点。


4) 难以支持新种类的产品 难以扩展抽象工厂以生产新种类的产品。这是因为
A b s t r a c t F a c t o r y接口确定了可以被创建的产品集合。支持新种类的产品就需要扩展该工厂接口,这将涉及A b s t r a c t F a c t o r y类及其所有子类的改变。我们会在实现一节讨论这个问题的一个解决办法。

web抽象工厂模式有哪些优缺点

前面三个是优点,是使用抽象工程模式可以解决的问题,最后一个是缺点。还是以前文中LED显示屏为例:如果想另外支持Font类,需要每个工厂类都增加相应的createFont函数。比较麻烦。

关于缺点

任何一种方法都不可能全是优点没有缺点,否则这个世界上就没有其它的方法存在了。

如何在优缺点之间平衡,甚至做到扬长避短,才是体现设计者功力的地方。

以上就是关于“web抽象工厂模式有哪些优缺点”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: web抽象工厂模式有哪些优缺点

本文链接: https://www.lsjlt.com/news/295649.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • web抽象工厂模式有哪些优缺点
    这篇“web抽象工厂模式有哪些优缺点”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“web抽象工厂模式有哪些优缺点”文章吧。协...
    99+
    2023-06-19
  • java中工厂模式的优缺点有哪些
    这篇文章将为大家详细讲解有关java中工厂模式的优缺点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。简单工厂模式介绍:概要:  简单工厂模式,又称为静态工厂方法(Static Fact...
    99+
    2023-05-31
    java 工厂模式 ava
  • web抽象工厂模式由哪些部分组成
    这篇文章主要介绍“web抽象工厂模式由哪些部分组成”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web抽象工厂模式由哪些部分组成”文章能帮助大家解决问题。结构下图为抽象工厂模式的类图。这个类图和前面...
    99+
    2023-06-19
  • 简单工厂模式和抽象工厂模式
    简单工厂模式,顾名思义,就是比较简单的一个模式,并且使用在业务比较简单的情况下,且具体产品不需要扩张它由三种角色组成工厂类,是这个模式的核心,含有一定的逻辑和判断,根据逻辑不同,产生具体的工厂产品抽象产品:具体产品的父类具体产品:工具抽象产...
    99+
    2023-06-02
  • 抽象类的工厂模式
    本文模拟赛车游戏,抽象场景工厂FacilitiesFactory ,引用到抽象道路,抽象建筑物等类,实例中 场景继承抽象场景,道路继承抽象道路,实现多类交叉的方法。package test;public class AbstractFac...
    99+
    2023-06-03
  • 什么是抽象工厂模式
    这篇文章主要介绍“什么是抽象工厂模式”,在日常操作中,相信很多人在什么是抽象工厂模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是抽象工厂模式”的疑惑有所帮助!接下来,...
    99+
    2024-04-02
  • Java工厂模式之简单工厂,工厂方法,抽象工厂模式详解
    目录1、简单工厂模式1.定义2.代码案例3.适用场景4.优缺点2、工厂方法模式1.定义2.代码案例3.适用场景4.优缺点3、抽象工厂模式1.定义2.代码案例3.适用场景4.优缺点4、...
    99+
    2024-04-02
  • PHP抽象工厂模式的优点与实现方法是什么
    本篇内容介绍了“PHP抽象工厂模式的优点与实现方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!抽象工厂模式Abstract Fact...
    99+
    2023-07-05
  • Java设计模式之工厂方法和抽象工厂
    全网最详细的工厂设计模式,本文主要是创建型设计模式中的工厂方法和抽象工厂,先由传统实现方式引出问题,接着对代码改进到简单工厂,后扩展到工厂方法,最后是抽象工厂模式,文中包括概念理解和...
    99+
    2024-04-02
  • JavaScript抽象工厂及工厂方法模式是什么
    这篇文章主要介绍“JavaScript抽象工厂及工厂方法模式是什么”,在日常操作中,相信很多人在JavaScript抽象工厂及工厂方法模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • C#通过抽象工厂模式造车
    可以用抽象工厂模式来造车。 车的品牌有很多,而且车的属性也不少,比如车的类型、排量、门的数量,等等。可以提炼出有关车的一个抽象类: public abstract class...
    99+
    2022-11-13
    C# 抽象工厂模式 造车
  • java抽象工厂模式怎么实现
    本篇内容介绍了“java抽象工厂模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!抽象工厂只实现了一个 createHum...
    99+
    2023-06-19
  • Java简单工厂,工厂方法,抽象工厂模式怎么实现
    这篇文章主要讲解了“Java简单工厂,工厂方法,抽象工厂模式怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java简单工厂,工厂方法,抽象工厂模式怎么实现”吧!1、简单工厂模式1.定...
    99+
    2023-06-29
  • Python怎么实现抽象工厂模式
    这篇文章主要介绍“Python怎么实现抽象工厂模式”,在日常操作中,相信很多人在Python怎么实现抽象工厂模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么实现抽象工厂模式”的疑惑有所帮助!...
    99+
    2023-06-19
  • Java抽象工厂模式实例分析
    这篇文章主要介绍了Java抽象工厂模式实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java抽象工厂模式实例分析文章都会有所收获,下面我们一起来看看吧。1.什么是抽象工厂模式?抽象工厂模式: ...
    99+
    2023-06-29
  • php抽象工厂模式怎么应用
    抽象工厂模式是一种创建对象的设计模式,它提供了一种封装一组具有相似功能的工厂的方式。在PHP中,可以通过以下步骤应用抽象工厂模式:1...
    99+
    2023-08-30
    php
  • Python如何实现抽象工厂模式
    这篇文章主要介绍“Python如何实现抽象工厂模式”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现抽象工厂模式”文章能帮助大家解决问题。实 现下面是实现Abstract Facto...
    99+
    2023-06-19
  • python设计模式之抽象工厂模式详解
    抽象工厂模式(Abstract Factory Pattern):属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它...
    99+
    2024-04-02
  • Java设计模式之抽象工厂模式详解
    目录一、什么是抽象工厂模式二、示例程序三、UML一、什么是抽象工厂模式 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类,这称之为抽象工厂模式(Abstract ...
    99+
    2024-04-02
  • Java设计模式之抽象工厂模式(Abstract Factory)
    作为工厂方法模式的孪生兄弟,相信大家对工厂方法模式和抽象工厂模式傻傻分不清楚吧。 那么,就让我来拯救大家吧! 抽象工厂模式 定义:所谓抽象工厂模式就是为创建一组相关或相互依赖的对象提...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作