首页 > 其他分享 >工厂模式

工厂模式

时间:2023-12-11 18:23:47浏览次数:19  
标签:模式 工厂 具体 产品 抽象 方法

工厂模式可分为简单工程、工厂方法、抽象工厂三类:

  • 简单工厂模式:又叫做静态工厂方法模式。该模式是通过传⼊参数来返回相应的类,这种方式比较单一,一个工厂负责制造所有子类产品,当增加一个子类产品时,需要对工厂进行修改,扩展性相对较差。简单工厂模式看为工厂方法模式的一种特例,两者归为一类。
  • 工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类只能创建一个具体产品类的实例
  • 抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例

简单工厂和工厂方法的区别,一个是只有一个静态工厂类,一个是一个抽象工厂类下有多个具体工厂类,当增加一个子类产品时,可以添加一个具体的产品子类和一个具体的工厂类,而不必对原来的代码进行修改。

工厂方法和抽象工厂的区别是,工厂方法只生产一种具体的产品类,而抽象工厂在工厂方法的基础上更进一步,生产一系列产品,例如工厂方法华为手机工厂只生产手机,有各种各样的规格的手机,华为工厂,可以生产华为的一系列产品,除了手机,还有手表、手环、pad,笔记本等。

标签:模式,工厂,具体,产品,抽象,方法
From: https://www.cnblogs.com/seeksimple/p/17895080.html

相关文章

  • 模板模式
    1#include<iostream>2usingnamespacestd;34//PC机,手机,平板5classMakeOrder{6public:7//virtualvoidstartOrder()=0;第一版8//钩子函数的模板方法9virtualvoidstartOrder(){10cout<<"下订单了"<<endl......
  • 设计模式之责任链模式
    1.定义请求沿着一条链传递,直到有一个对象能够处理它为止2.口语化表述假设某公司的财务审批流程如下:项目经理可以审批1000元以下的费用,大于1000元的费用提交给部门经理审批部门经理可以审批10000元以下的费用,大于10000的费用提交给总经理审批总经理可以审批任何额度的费用......
  • 抽象工厂模式:角色解析与应用探索
    前言工厂模式一般指的是简单工厂模式、工厂方法模式、抽象工厂模式,这是三种工厂模式的最后一篇,其他两种的文章链接如下:设计模式之是简单工厂模式_凡夫编程的技术博客_51CTO博客工厂方法模式:改变你对软件开发的认知_凡夫编程的技术博客_51CTO博客建议三种模式放在一起对比学习,更能......
  • oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
    一、用途强行启用并行度来执行当前SQL。这个在Oracle9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会......
  • 设计模式-访问者模式(主要理解“双重分派”)
    代码展示:packagecom.example.test;importjava.util.ArrayList;importjava.util.List;publicclass访问者模式{}abstractclassDepartment{abstractvoidvisit(FullTimeEmployeefullTimeEmployee);//正式工的访问abstractvoidvisit(PartTimeEmployee......
  • java 策略模式解决if-else ,函数式接口解决编写多个子类的问题
    /***@author:szc*@date:2023/9/222:45*@version:1.0*@description:从map中获取函数式接口,解决if-else多个子类问题*/@ServicepublicclassMapToInterface{@AutowiredprivateTypeResulttypeResult;privatestaticMap<String,Functio......
  • 23种设计模式——桥接模式
    今天我们继续学习23种设计模式中的桥接模式。所谓桥接模式就是将抽象部分和实现部分隔离开来,使得它们能够独立变化。桥接模式将继承关系转化成关联关系,封装了变化,完成了解耦,减少了系统中类的数量,也减少了代码量。概念:桥接模式是用于把抽象化与实现化解耦,使得二者可以独立变化。......
  • 设备驱动设计模式 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/driver-api/driver-model/design-patterns.html设备驱动设计模式这份文档描述了设备驱动中常见的设计模式。子系统维护者可能会要求驱动开发者遵循这些设计模式。状态容器container_of()1.状态容器虽然内核中包含一些设备驱动,假......
  • oracle日志模式
    oracle日志模式一、oracle日志模式分为(logging,forcelogging,nologging)默认情况是logging,就是会记录到redo日志中,forcelogging是强制记录日志,nologging是尽量减少日志。FORCELOGGING可以在数据库级别、表空间级别进行设定、而LOGGING与NOLOGGING可以在表级别设定。注:FORCELOGGIN......
  • 小谈设计模式(16)—抽象工厂模式
    (小谈设计模式(16)—抽象工厂模式)专栏介绍主要对目前市面上常见的23种设计模式进行逐一分析和总结,希望有兴趣的小伙伴们可以看一下,会持续更新的。希望各位可以监督我,我们一起学习进步,加油,各位。抽象工厂模式抽象工厂模式(AbstractFactoryPattern)是一种创建型设计模式,它提供了......