文档章节

抽象工厂模式

w
 wen123
发布于 10/24 15:42
字数 355
阅读 6
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

1.定义:相当于工厂模式的升级,工厂模式一个类创建一个产品,抽象工厂模式一个类创建多个产品(族:生产厂家一致,比如 made in chaina)

2.优缺点

    优:

        a.一个类可生产多个产品

        b.当增加产品族的时候,不需要修改原代码,满足开闭原则

    缺:

        当产品族需要增加一个新的产品的时候,所有的工厂类都要修改

3.结构

    a.抽象工厂(abstract factory):提供了创建产品的接口,它包含多个创建产品的方法,可以创建多个不同等级的产品

    b.具体工厂(concrete factory):主要是实现工厂中多个抽象方法,完成产品的创建

    c.抽象产品(product):定义了产品的规范,描述了主要产品的特性和功能,有很多个抽象产品

    d.具体产品(concrete product):实现了抽象产品的接口,由具体工厂来创建,同具体工厂是一对多的关系

 

© 著作权归作者所有

上一篇: 代理模式
下一篇: 工厂方法模式
w
粉丝 1
博文 34
码字总数 21185
作品 0
大连
程序员
私信 提问
设计模式之抽象工厂模式(创建型)

模式定义 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 模式角色 抽象...

smileNicky
01/01
0
0
设计模式梳理(一)

设计模式梳理(一) 总体来说设计模式分为三大类: @案例源码地址:https://gitlab.com/lxqxsyu/DisgnPattern 创建型模式 简单工厂模式 工厂类是整个模式的关键。它包含必要的判断逻辑,能够...

lxq_xsyu
2017/11/02
0
0
Java经典设计模式-结构型模式-适配器模式(Adapter)

适配器模式 适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的...

Idea
2018/01/20
141
0
炒冷饭系列:设计模式 抽象工厂模式

炒冷饭系列:设计模式 抽象工厂模式 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 亲爱我,孝何难;亲恶我,孝方贤。 一、什么是抽象工厂模...

泥沙砖瓦浆木匠
2014/07/24
169
0
PHP设计模式(一):简介及创建型模式

我们分三篇文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式。 一、设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用、容易被他人理解的、可靠的代码设...

juhenj
2014/05/15
292
2

没有更多内容

加载失败,请刷新页面

加载更多

Nuxt.js学习(六) --- Nuxt.js布局

[TOC] 1、布局 1.1、官方文档: 默认布局 可通过添加 layouts/default.vue 文件来扩展应用的默认布局。 提示: 别忘了在布局文件中添加 <nuxt/> 组件用于显示页面的主体内容。 默认布局的源码如...

庭前云落
10分钟前
3
0
在C ++标识符中使用下划线的规则是什么?

在C ++中,通常使用某种前缀来命名成员变量,以表示它们是成员变量,而不是局部变量或参数。 如果您来自MFC背景,则可能会使用m_foo 。 我也偶尔见过myFoo 。 C#(或者可能只是.NET)似乎建...

javail
19分钟前
4
0
Spring Cloud Alibaba 实战(十一) - Spring Cloud认证授权

欢迎关注全是干货的技术公众号:JavaEdge > 本文主要内容: > - 如何实现用户认证与授权? > - 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 > - 最后根据方案改造Gateway和扩...

JavaEdge
28分钟前
3
0
WebFlux注解下读取ServerHttpRequest 请求报文流数据方法

在WebFlux的注解模式下没有找到有用的直接从 ServerHttpRequest 读取请求报文流的方法,下面是我自己摸索出来的方法,主要借鉴了Spring Security的源码, 重点是需要注入 Webflux的解码器 @...

80后程序员
30分钟前
4
0
为什么Python Lambda有用? [关闭]

已关闭 。 这个问题需要更加集中。 它当前不接受答案。 了解更多 。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我正在尝试找出Python lambda。 lamb...

技术盛宴
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部