- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模式设计c#--创建型--factory method
名称
Factory Method
结构
意图
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。
适用性
当一个类不知道它所必须创建的对象的类的时候。
当一个类希望由它的子类来指定它所创建的对象的时候。
当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。
????????????????????????????????????
namespace?FactoryMethod_DesignPattern{????using?System;????//?These?two?classes?could?be?part?of?a?framework,????//?which?we?will?call?DP????//?===============================================????????class?DPDocument?????{????????}????abstract?class?DPApplication?????{????????protected?DPDocument?doc;????????????????abstract?public?void?CreateDocument();????????public?void?ConstructObjects()????????{????????????????????????//?Create?objects?as?needed????????????//?.?.?.????????????//?including?document????????????CreateDocument();????????}????????????????abstract?public?void?Dump();????}????//?These?two?classes?could?be?part?of?an?application?????//?=================================================????class?MyApplication?:?DPApplication?????{????????override?public?void?CreateDocument()????????{????????????doc?=?new?MyDocument();????????????????????}????????????????????override?public?void?Dump()????????{????????????Console.WriteLine("MyApplication?exists");????????}????}????????class?MyDocument?:?DPDocument?????{????}????///?<summary>????///????Summary?description?for?Client.????///?</summary>????public?class?Client????{????????public?static?int?Main(string[]?args)????????{????????????MyApplication?myApplication?=?new?MyApplication();????????????myApplication.ConstructObjects();????????????myApplication.Dump();????????????????????????return?0;????????}????}}
?????????/articles/36590.html
一、?工厂方法(Factory Method)模式
工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。
在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况
文档评论(0)