很多类工厂都是用反射(Assembly.Load())来创建一个对象的,反射如此的消耗效率,并且反射后还要类型转换又消耗性能,为什么不直接new 一个对象?
是为了降低耦合还是?大虾们指点..谢谢。在线等
是为了降低耦合还是?大虾们指点..谢谢。在线等
解决方案 »
- text 中的文字自动换行
- vb
- 还是关于datalist控件中FindControl的问题
- identity impersonate 如何获取服务器用户名,密码
- 请问,页面上有一部分内容在刷新,另一部分内容不变,是怎么实现的?类似以前帧的感觉
- 厌倦了程序员,身心疲惫,欲哭无泪!
- 如何在两个网页建传递参数?除了通过Session和xxx.aspx?id=这两种方法外,还有其他办法吗?
- 如何在一个.cs文件里使用另一个.cs文件中的类?
- 奇怪的事情,急。
- Orcale数据连接问题,高分!!
- 问个关于静态类的存活周期问题
- 我用了一个image控件 在设计的时候可以看到图片 但运行的时候在浏览器中出现个小X不显示图片
工厂不是就想实现这样的功能才用的么?
所有这些好处都与面向对象设计的这两条原则有关:弱化对象间的耦合;防止代码的重复。在一个方法中进行类的实例化,可以消除重复性的代码。这是在用一个对接口的调用取代一个具体的实现。这些都有助于创建模块化的代码。
不难发现,简单工厂模式的缺点也正体现在其工厂类上,由于工厂类集中了所有实例的创建逻辑,所以“高内聚”方面做的并不好。另外,当系统中的具体产品类不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不很好。