欢迎来到天天文库
浏览记录
ID:21733489
大小:188.37 KB
页数:19页
时间:2018-10-24
《设计模式速查手册1--创建型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、设计模式速查手册-创建型2010-12-2822:46byEricZhang(T2噬菌体),1962visits,网摘,收藏,编辑Is&IsNot这篇文章是……仅包含模式的名称、简要说明、结构类图和结构示例代码。可用于快速浏览、回顾、查询及复习设计模式。模式的意图和使用场合来自作者的个人实践总结。虽然示例代码使用C#,但是尽量不会用到C#中特有的特性、接口及方法,而是起到一个通用框架说明的作用。这篇文章不是……对设计模式面面俱到。对设计模式详细而深入的探讨和研究。从其它文献中照搬的东西。保证绝对没有错误(虽然我尽我所能让其准确)。讲述设计模式在C#中具体实现方法。01Abstr
2、actFactory(抽象工厂)简要说明抽象工厂模式拥有一组工厂类,这些工厂类实现同一个抽象工厂接口,这个接口定义了一系列创建方法,每一个方法创建一种产品,所有方法所创建的产品组成一个系列。不同的具体工厂类创建不同系列的系列产品,系列中每一种产品实现同一个接口。客户类依赖抽象工厂接口及各个产品接口,并通过实例化不同的具体工厂创建不同的产品系列。抽象工厂适用于客户类拥有与产品系列无关的加工逻辑的场合,此时通过抽象工厂模式,将创建产品系列的逻辑与加工逻辑分离,那么同样的加工逻辑就可以作用于不同的产品系列,至于创建哪个系列的产品则由客户类拥有的具体的工厂决定。结构类图结构示例代码vi
3、ewsourceprint?/************************************************** * *DesignPattrenQuickStart *01AbstractFactory-抽象工厂 * **************************************************/namespaceDesignPatternQuickStart.AbstractFactory{ /// ///产品A的接口 /// interfaceIProductA{} /// ///品
4、种为1的产品A /// classProductA1:IProductA{} /// ///品种为2的产品A /// classProductA2:IProductA{} /// ///产品B的接口 /// interfaceIProductB{} /// ///品种为1的产品B /// classProductB1:IProductB{} /// ///品种为2的产品B /// classProductB2:IProductB{}
5、 /// ///抽象工厂接口 /// interfaceIAbstractFactory { IProductACreateProductA(); IProductBCreateProductB(); } /// ///生产1系列的具体工厂,用于生产品种为1为产品A和B /// classFactory1:IAbstractFactory { publicIProductACreateProductA() { returnne
6、wProductA1(); } publicIProductBCreateProductB() { returnnewProductB1(); } } /// ///生产2系列的具体工厂,用于生产品种为2为产品A和B /// classFactory2:IAbstractFactory { publicIProductACreateProductA() { returnnewProductA2();
7、 } publicIProductBCreateProductB() { returnnewProductB2(); } } /// ///客户类 /// classClient { publicvoidOpreateMethod() { IAbstractFactoryfactory1=newFactory1();
此文档下载收益归作者所有