社区
C#
帖子详情
关于简单模式和工厂方法模式的疑问
liujiahaol12345
2017-03-07 05:19:33
最近在看设计模式,说工厂方法弥补了简单工厂的开放-封闭原则,因为增加新产品要去修改工厂类增加case判断,后面我又看到可以用反射来避免简单工厂的switch case判断,那这样是不是就用不上工厂方法了,增加产品时简单工厂只需增加具体的产品类,工厂方法还要多增加产品工厂,求大神指点迷津
...全文
72
3
打赏
收藏
关于简单模式和工厂方法模式的疑问
最近在看设计模式,说工厂方法弥补了简单工厂的开放-封闭原则,因为增加新产品要去修改工厂类增加case判断,后面我又看到可以用反射来避免简单工厂的switch case判断,那这样是不是就用不上工厂方法了,增加产品时简单工厂只需增加具体的产品类,工厂方法还要多增加产品工厂,求大神指点迷津
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2017-03-07
打赏
举报
回复
其实多出来任何中间层,然后把中间层再弄成“反射”,再用中间层作为“工厂方法”,都能雷人,看上去好像很复杂很有用似地。其实你从配置文件中如何表示反射规则(声明Assembly和Type)的角度,根据业务需要来配置,只要知道“反射”技术就行了,并不需要繁冗地为各种花式命名。
以专业开发人员为伍
2017-03-07
打赏
举报
回复
是的。 实际上你没有必要背那些雷人的设计模式,你可以用几十分之一的精力、从现实出发就够了。现实的设计模式比 GOF 的设计模式实用得多,但是很多人就是因为书上的描述的比较有趣儿、设计模式名字雷人,所以喜欢背它。而不敢看到设计模式的雷人和繁琐的地方。
娃都会打酱油了
2017-03-07
打赏
举报
回复
是的 工厂方法本来就是将new的过程延迟到实际工厂,而该生成什么工厂,还是要通过各种判断,如果要想没new xxxFactory,那就又要出现简单工厂来创建Factory实例,所以如果够简单的话,那没必要用工厂方法,简单工厂就可以 当然这不是说工厂方法就没市场了,如果你只是接口提供方,并不知道实际的Factory,那么还是需要采用工厂方法来约束,简单工厂其实就可以认为是规范Factory必须是遵循指定的规则,否则是无法反射创建的
手撕设计
模式
之「
工厂方法
模式
」(Java描述)
工厂方法
模式
是设计
模式
中的经典之作,它基于面向对象的抽象,解决了
简单
工厂
模式
在扩展性上的不足。
简单
工厂
模式
虽然简化了客户端的使用,但在系统需要添加新产品时,不得不修改原有工厂类的代码,这违反了"开闭...
二十三种设计
模式
【PDF版】
使用工厂
模式
就象使用 new 一样频繁. 设计
模式
之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder
模式
就是将这两 种情况分开进行。 设计
模式
之 ...
实例解析C#设计
模式
编程中
简单
工厂
模式
的使用
说到
简单
工厂,自然的第一个
疑问
当然就是什么是
简单
工厂
模式
了? 在现实生活中工厂是负责生产产品的,同样在设计
模式
中,
简单
工厂
模式
我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使用”new”关键字...
设计
模式
——
简单
工厂、工厂方法和抽象工厂的区别与联系
创建型
模式
中,常用的有
工厂方法
模式
和抽象工厂
模式
,平时实践还包括
简单
工厂
模式
,虽然
简单
工厂
模式
不在23种设计
模式
中。 为了区分以上几种设计
模式
的差别,通过以下几个例子介绍这几种
模式
的使用场景以及优缺点。...
简单
工厂
模式
、工厂
模式
和抽象工厂
模式
区别及优缺点
各位小伙伴好,今天给大家主要介绍一下
简单
工厂
模式
、工厂
模式
和抽象工厂
模式
的区别及各自的优缺点。 (本文实现语言为Python3) 【前言】 众所周知今天所讲的内容是设计
模式
的一类;对于设计
模式
这个概念,我想...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章