社区
Java
帖子详情
概念辨析:工厂模式 工厂方法模式 简单工厂模式 抽象工厂
TrueZq
2004-11-11 04:54:44
工厂模式 工厂方法模式 简单工厂模式 抽象工厂
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).?
实在搞不懂与工厂相关的设计模式到底分哪两种?
...全文
526
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++
工厂方法模式
实战:从解耦到跨平台应用与性能优化
在软件工程中,设计模式是解决常见问题的可复用方案,其核心价值在于提升代码的可维护性和扩展性。
工厂方法模式
作为一种创建型模式,其核心原理是将对象的创建逻辑与使用逻辑分离,通过定义创建对象的接口,让子类决定实例化哪个类,从而实现对修改封闭、对扩展开放。这一模式的技术价值在于它能够有效管理对象创建的复杂性,降低模块间的耦合度,尤其在大型、长期演进的项目中,能显著减少因需求变更导致的代码修改范围。其典型应用场景包括跨平台开发、插件系统、数据序列化以及游戏资源管理等,通过
抽象工厂
和具体工厂的协作,确保同一产品族内对象
设计模式速记指南:工厂、策略与组合模式的底层逻辑与应试要点
设计模式是软件工程中应对需求变化的核心方法论,其本质在于封装变化,让代码具备更好的扩展性与维护性。在Java、C++等主流语言的项目实践中,
工厂模式
族(简单工厂、工厂方法、
抽象工厂
)通过层层解耦,解决了对象创建过程与具体业务逻辑的强依赖问题;策略模式则将可变的算法族独立封装,替代冗长的条件分支;组合模式以统一接口处理树形层级结构,成为组织架构、菜单系统等场景的经典解法。理解这些模式背后的变化点,比死记硬背定义更重要。针对期末笔试、课程大作业与面试等典型场景,掌握模式之间的对比、优缺点及重构思路,并结合高频搜
【18】软考软件设计师——创建型模式(二):工厂三兄弟考点精讲与真题突破
本文是《软件设计师·50讲通关|从零基础到工程师职称》专栏第18篇,聚焦**模块三:设计模式专项**的核心创建型模式——简单工厂、工厂方法、
抽象工厂
(合称“工厂三兄弟”)。文章系统讲解三种
工厂模式
的核心原理、适用场景与实现逻辑,深度对比三者在解耦程度、开闭原则兼容性、应用场景上的差异;结合软考真题规律,提炼场景匹配秒杀口诀、代码实现模板,重点突破
抽象工厂
的产品族设计难点;覆盖上午题(模式特征判断、场景匹配、区别
辨析
)与下午题(代码填空、设计方案选择)核心考点,帮助考生精准掌握
工厂模式
的考试重点,稳拿1~2分
软件设计师考试下午题代码部分详解:23种设计模式全面解析
软件设计师考试的下午题通常会考察设计模式的应用,这部分内容既是重点也是难点。本文将系统地介绍考试中常见的23种设计模式,通过详细代码示例和通俗易懂的讲解,帮助考生掌握这些核心知识点,提高应试能力。
概念
:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用场景:系统要独立于产品的创建、组合和表示时;系统要由多个产品系列中的一个来配置时。@Override@Override@Override@Override// 产品族A@Override。
如何利用科技创新数据提升园区产业规划的科学性?.docx
如何利用科技创新数据提升园区产业规划的科学性?
Java
51,407
社区成员
86,126
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章