社区
Java
帖子详情
概念辨析:工厂模式 工厂方法模式 简单工厂模式 抽象工厂
TrueZq
2004-11-11 04:54:44
工厂模式 工厂方法模式 简单工厂模式 抽象工厂
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).?
实在搞不懂与工厂相关的设计模式到底分哪两种?
...全文
508
16
打赏
收藏
概念辨析:工厂模式 工厂方法模式 简单工厂模式 抽象工厂
工厂模式 工厂方法模式 简单工厂模式 抽象工厂 工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).? 实在搞不懂与工厂相关的设计模式到底分哪两种?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hannibals
2004-11-18
打赏
举报
回复
麻仁棵
carlchen_enjoym
2004-11-18
打赏
举报
回复
看看jive :)
马前小卒
2004-11-18
打赏
举报
回复
学习
AllanJD
2004-11-17
打赏
举报
回复
Markup
funcreal
2004-11-15
打赏
举报
回复
昨天又看了一下书,再具体说一下。
简单工厂:用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)
工厂模式:用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂:用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)
同一等级结构:中国动物->中国猫-〉
-〉中国狗-〉藏敖
-〉京叭 以上动物属于同一等级结构
同一产品族:中国狗,日本狗,美国狗则属于同一产品族。
以上三种工厂方法在等级结构和产品族这两个方向上的支持程度不同。所以要根据情况考虑应该使用哪种方法。
大家继续。。。
funcreal
2004-11-14
打赏
举报
回复
我来总结一下
简单工厂和工厂方法用来生产单个产品。
抽象工厂用来生产产品族。
建议大家看一下《java与模式》里面说得非常清楚。
TrueZq
2004-11-14
打赏
举报
回复
有没有谁总结一下啊
jeffyan77
2004-11-12
打赏
举报
回复
工厂模式可以分成三种:简单工厂、工厂方法、抽象工厂。有人将它们分成两种:工厂方法、抽象工厂。
所有的设计模式都可以分成两种:对象的和类的。
sylmoon
2004-11-12
打赏
举报
回复
所有的设计模式都可以分成两种:对象的和类的。
lsqlister001
2004-11-12
打赏
举报
回复
学习
merlinran
2004-11-11
打赏
举报
回复
可以造出东西来的就是工厂。后面三种都是。
工厂方法着重点在方法二字,意即对象本身有其它用途,只是有一个方法,可以造出东西来而已。比如:
struct Object {
static Object* Create();
// other methodes...
}
Object::Create就是一个工厂方法。
简单工厂模式就是最简单的了。对象存在的价值就是为了造出另一些对象来。比如:
struct HumanCreator {
Man CreateMan();
Woman CreateWoman();
};
抽象工厂中,工厂有多个,都造类似的东西,只是细节上有差别而已。冠以抽象二字,是因为这些工厂都是从一个基类中派生出来的。
struct AbstractHumanCreator {
virtual Man CreateMan() = 0;
virtual Woman CreateWoman() = 0;
};
struct NuWa/*女娲*/ : public AbstractHumanCreator {
ChineseMan CreateMan();
ChineseWoman CreateWoman();
};
struct God : public AbstractHumanCreator {
WhiteMan CreateMan();
WhiteWoman CreateWoman();
};
不好意思,习惯了用C++,Java一下子不会写了。用Java的自己翻译一下吧。
launch401
2004-11-11
打赏
举报
回复
楼上说反了好像。
工厂方法可以说成template method在创建对象上面的应用,目的是封装具体创建哪个对象;
而抽象工厂是为了创建一“系列”的产品,抽象工厂通常用工厂方法来实现从而封装了具体创建哪个产品系列。
vongood
2004-11-11
打赏
举报
回复
分两种,类模式和对象模式。
工厂方法模式是类模式, 抽象工厂(Abstract Factory)是对象模式。
SStallMan
2004-11-11
打赏
举报
回复
啥也不懂我过来看看
skypeople
2004-11-11
打赏
举报
回复
模式的精华,在于从实践中抽象总结,而总结的基础在于融会贯通,如果再把模式还原成死条条,是模式的悲哀
w_rose
2004-11-11
打赏
举报
回复
根据输入参数产生某个父类或者接口的具体类型的实例化结果。
把小学课本上的问题变个描述方式去问大学教授,往往难住教授。大多数模式其实就是这样——其实没有什么。
C++
工厂方法模式
实战:从解耦到跨平台应用与性能优化
本文深入剖析C++中
工厂方法模式
的核心价值与实现细节,重点阐述其如何解决对象创建耦合问题、支持开闭原则,并对比简单工厂的局限性。内容涵盖UML结构、与
抽象工厂
的
辨析
、智能指针资源管理、跨平台开发、插件系统、序列化、游戏资源管理及数据库访问层等典型应用场景。同时讨论性能优化策略(如虚函数开销、对象池)、依赖注入结合、单例集成,以及常见陷阱(原始指针内存泄漏、构造参数传递、循环依赖、子类爆炸)和最佳实践。
【18】软考软件设计师——创建型模式(二):工厂三兄弟考点精讲与真题突破
本文聚焦软考软件设计师考试中创建型设计模式的核心考点——简单工厂、工厂方法与
抽象工厂
(合称'工厂三兄弟')。深入剖析三者在解耦程度、开闭原则兼容性及适用场景上的本质区别;详解产品族与产品等级结构的
概念
;提供场景匹配口诀、代码填空模板及真题解题技巧,覆盖上午单选题与下午代码填空两大题型,助力考生高效突破高频难点。
软件设计师考试下午题代码部分详解:23种设计模式全面解析
本文系统梳理软件设计师考试必考的23种GoF经典设计模式,按创建型、结构型、行为型三大类别组织,涵盖每种模式的核心
概念
、适用场景、关键实现要点及典型Java代码特征。重点分析单例、工厂方法、观察者、策略、装饰器等高频考点模式,并强调UML建模、SOLID原则遵循及实际应用场景
辨析
,助力考生深入理解模式本质而非机械记忆。
Gemini永久会员 30道23种Java设计模式面试题及详细答案
本文系统梳理Java中23种经典设计模式,涵盖创建型(单例、工厂方法、
抽象工厂
、建造者、原型)、结构型(适配器、装饰器、代理、外观、桥接、组合、享元)和行为型(策略、模板方法、观察者、迭代器、责任链、命令、备忘录、状态、访问者、中介者、解释器)三大类,并针对30道高频面试题提供原理剖析、对比
辨析
与典型应用场景,重点强调线程安全单例实现、深浅拷贝、动态代理、开闭原则等核心技术要点。
设计模式基础——研磨设计模式——跟着cc学设计系列
本课程为《研磨设计模式》配套视频,系统介绍设计模式
概念
、分类及学习方法。涵盖23种GoF设计模式,强调理论与实践相结合,助力开发者深入理解并灵活运用。
Java
51,408
社区成员
86,093
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章