很多类工厂都是用反射(Assembly.Load())来创建一个对象的,反射如此的消耗效率,并且反射后还要类型转换又消耗性能,为什么不直接new 一个对象?
是为了降低耦合还是?大虾们指点..谢谢。在线等
是为了降低耦合还是?大虾们指点..谢谢。在线等
解决方案 »
- 如何解决与IIS服务器不同域名的用户使用集成windows身份验证进行验证
- 一个纠结的WEB留言本程序
- 请教在WEB里的导入导出功能?
- 一个在线用户数为200左右的系统,服务器aspnet_wa.exe进程占有240M内存,正常吗?
- 菜鸟请教:window.open()指定了窗口名称怎么不管用???
- 越来越有些迷惑
- 通过querystring传送特殊字符串出现的问题,跪求答案
- 请教查询的问题
- js 调用问题
- 修复安装win2003后iis打不开了,重新删除并再安装后找不到iis,这是为什么?急
- 问个关于静态类的存活周期问题
- 我用了一个image控件 在设计的时候可以看到图片 但运行的时候在浏览器中出现个小X不显示图片
工厂不是就想实现这样的功能才用的么?
所有这些好处都与面向对象设计的这两条原则有关:弱化对象间的耦合;防止代码的重复。在一个方法中进行类的实例化,可以消除重复性的代码。这是在用一个对接口的调用取代一个具体的实现。这些都有助于创建模块化的代码。
不难发现,简单工厂模式的缺点也正体现在其工厂类上,由于工厂类集中了所有实例的创建逻辑,所以“高内聚”方面做的并不好。另外,当系统中的具体产品类不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不很好。