社区
C#
帖子详情
关于简单模式和工厂方法模式的疑问
liujiahaol12345
2017-03-07 05:19:33
最近在看设计模式,说工厂方法弥补了简单工厂的开放-封闭原则,因为增加新产品要去修改工厂类增加case判断,后面我又看到可以用反射来避免简单工厂的switch case判断,那这样是不是就用不上工厂方法了,增加产品时简单工厂只需增加具体的产品类,工厂方法还要多增加产品工厂,求大神指点迷津
...全文
63
3
打赏
收藏
关于简单模式和工厂方法模式的疑问
最近在看设计模式,说工厂方法弥补了简单工厂的开放-封闭原则,因为增加新产品要去修改工厂类增加case判断,后面我又看到可以用反射来避免简单工厂的switch case判断,那这样是不是就用不上工厂方法了,增加产品时简单工厂只需增加具体的产品类,工厂方法还要多增加产品工厂,求大神指点迷津
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2017-03-07
打赏
举报
回复
其实多出来任何中间层,然后把中间层再弄成“反射”,再用中间层作为“工厂方法”,都能雷人,看上去好像很复杂很有用似地。其实你从配置文件中如何表示反射规则(声明Assembly和Type)的角度,根据业务需要来配置,只要知道“反射”技术就行了,并不需要繁冗地为各种花式命名。
以专业开发人员为伍
2017-03-07
打赏
举报
回复
是的。 实际上你没有必要背那些雷人的设计模式,你可以用几十分之一的精力、从现实出发就够了。现实的设计模式比 GOF 的设计模式实用得多,但是很多人就是因为书上的描述的比较有趣儿、设计模式名字雷人,所以喜欢背它。而不敢看到设计模式的雷人和繁琐的地方。
娃都会打酱油了
2017-03-07
打赏
举报
回复
是的 工厂方法本来就是将new的过程延迟到实际工厂,而该生成什么工厂,还是要通过各种判断,如果要想没new xxxFactory,那就又要出现简单工厂来创建Factory实例,所以如果够简单的话,那没必要用工厂方法,简单工厂就可以 当然这不是说工厂方法就没市场了,如果你只是接口提供方,并不知道实际的Factory,那么还是需要采用工厂方法来约束,简单工厂其实就可以认为是规范Factory必须是遵循指定的规则,否则是无法反射创建的
java设计
模式
CatalogDAOFactory是典型的工厂方法
我们经常要根据类Class生成实例对象,如A a=new A() 工厂
模式
也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂
模式
,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量...
实例解析C#设计
模式
编程中
简单
工厂
模式
的使用
说到
简单
工厂,自然的第一个
疑问
当然就是什么是
简单
工厂
模式
了? 在现实生活中工厂是负责生产产品的,同样在设计
模式
中,
简单
工厂
模式
我们也可以理解为负责生产对象的一个类, 我们平常编程中,当使用”new”关键字...
设计
模式
(JAVA语言实现)--20种设计
模式
附带源码
课程培训详细的笔记以及实例代码,让学员开始掌握设计
模式
知识点 课程内容: 工厂
模式
、桥接
模式
、组合
模式
、装饰器
模式
、外观
模式
、享元
模式
、原型模型、代理
模式
、单例
模式
、适配器
模式
策略
模式
、模板方法
模式
、...
二十三种设计
模式
【PDF版】
使用工厂
模式
就象使用 new 一样频繁. 设计
模式
之 Builder 汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder
模式
就是将这两 种情况分开进行。 设计
模式
之 ...
R2,jdbc数据库连接池源码
R2通过代理connection对象和工厂
模式
实现了不改变原jdbc调用方式的前提下的jdbc数据库连接池。结构
简单
,功能完善,高可配置,充分应用了jdk1.6的同步包特性,提高了并发效率,并能够完美应用于非web项目和web项目,...
C#
110,532
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章