讨论下 工厂方法(Factory Method)模式解决思路
发布时间:2011-06-23 20:32:28 文章来源:www.iduyao.cn 采编人员:星星草
讨论下 工厂方法(Factory Method)模式
今天学习了下 工厂方法(Factory Method)模式
感觉是这么回事情:
就是一个建立一个工厂的接口(或基类)来生成一个 产品的接口(或基类),然后在程序的其他地方就可以通过那个生成的产品接口动态调用具体产品多实现了的接口功能。
但是这个接口无法提供那个动态类产品的自己区别于其他类产品的特有成员。
怎么解决这个问题呢
------解决方案--------------------
我觉得你可以参照一下MSDN得OdbcFactory类,看看它干什么的, 在和你的问题综合起来,相信你就有更好的理解了。
------解决方案--------------------
如果你想访问动态类产品的自己区别于其他类产品的特有成员,那么就不要用工厂,工厂实现的是共性,想要特性直接用子类定义就可以了,何必用工厂定义。
------解决方案--------------------
工厂就是解决NEW 的问题
------解决方案--------------------
很多设计模式在.NET类库中都有实现
Builder Pattern:StringBuilder
Factory Method:IHttpHandlerFactory
Adapter Pattern:COM Interop、DataAdapter
Decorator Pattern:BufferedStream、CryptoStream
Composite Pattern:Enterprise Library2.0中的ObjectBuilder
Facade Pattern:Duwamish
Flyweight Pattern:.NET中的String类型
Template Method:服务器控件
Command Pattern:MVC
Iterator Pattern:IEnumerator
Oberver Pattern:委托和事件
Strategy Patterm:System.Configuration.Provider、IComparer
Singleton Pattern:Remoting的Singleton
------解决方案--------------------
通过多态可以实现. 我印象中是如此的.
------解决方案--------------------
如果您需要使用特定的子类中的特定方法,你不应该使用工厂模式,使用工厂模式,就意味着你需要获得对某个特定接口或父类的引用,而并不关心具体引用了哪个子类或实现,也只有这样您才能够使客户端代码享受到多态的益处,如果非要使用特定的子类,您只能直接new出来,然后使用它。或者使用工厂方法new出来后,在确定的环境下做向下转型。
------解决方案--------------------
mark
------解决方案--------------------
或者使用工厂方法new出来后,在确定的环境下做向下转型。
——————————————————————————————————————
我现在就是这样做的,有什么模式可以从工厂里直接new出具体的子类。
——————————————————————————————————————
我想,你已经new出具体的子类来了。不过,你把这个子类对象是赋给一个父类的引用(或者是称为对象名吧。因为对象名和对象是应该分开来考虑的)。
说到这里,我想其余的部分你应该自己考虑了。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
(VS2005)VB有关继承封装在DLL里窗体
公司里有一套自己的架构并把它封装在叫MFW的DLL里,再学习使用时发现了很多不明白的地方。例如:现...
-
如何让treeview点击结点不刷新页面?
如何让treeview点击结点不刷新页面?
------解决方案--------------------
帮你顶
------解决...
-
单薄的业务层
相信开发WEB信息的人都用到过三层架构
表示层--》业务层--》数据访问层
以前一直开发CS结构最近一年一直在开发...
-
类爆炸问题,对维护也是恶梦?
原意在ERP项目中有设计一个工序类用來描述工序:
public Process
{
public string ProcessNo
{
...
-
怎么实现随意变换网页字体?
想做个艺术签名的网站
字体也找了几个
就是在用户输入“名字”后
把“名字”转换成几个字体显示出来
...
-
关于政府部门网站数据库设计
今天上面安排让我做个政府有关部门的网站,我看了下不是很复杂。可到了设计数据库表时候碰到了些问题...
-
如何自动为录入的人员信息分配用户权限
我这里有两类人,一类是教师,一类是学生,要解决的问题是,在用管理员身份录入教师和学生信息时,...
-
Ext.Net 和ExtJS
现在在做一个项目,用到了EXT.NET 但是有个缺点就是EXT.NET里的时间选择器dateField不能选择时分秒,现在想到用EXTJ...
-
谁手里有现成的提示框样式啊,急用
谁手里有现成的提示框样式或者皮肤啊 还有弹出div层的好看一点的样式 给我个呗 我这急用呢 ...
-
求两个样式的例子...
一个是点击修改弹出修改表单表格 出现在列表上 要特别好看的那种 最好是悬浮的
一个 要弹出的确...