设计模式速查手册1--创建型

设计模式速查手册1--创建型

ID:21733489

大小:188.37 KB

页数:19页

时间:2018-10-24

设计模式速查手册1--创建型_第1页
设计模式速查手册1--创建型_第2页
设计模式速查手册1--创建型_第3页
设计模式速查手册1--创建型_第4页
设计模式速查手册1--创建型_第5页
资源描述:

《设计模式速查手册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();    

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。