uml_类图_带源码_23种设计模式

uml_类图_带源码_23种设计模式

ID:6072807

大小:508.50 KB

页数:71页

时间:2018-01-02

uml_类图_带源码_23种设计模式_第1页
uml_类图_带源码_23种设计模式_第2页
uml_类图_带源码_23种设计模式_第3页
uml_类图_带源码_23种设计模式_第4页
uml_类图_带源码_23种设计模式_第5页
资源描述:

《uml_类图_带源码_23种设计模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.DoFactory.GangOfFour.Abstract.StructuralAbstractFactory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。CodeusingSystem;namespaceDoFactory.GangOfFour.Abstract.Structural{///

///MainAppst

2、artupclassforStructural///AbstractFactoryDesignPattern.///

classMainApp{//////Entrypointintoconsoleapplication.///publicstaticvoidMain(){//Abstractfactory#1AbstractFactoryfactory1=newConcreteFactory1();Clientclient1=newClient(factory1);client1.Run

3、();//Abstractfactory#2AbstractFactoryfactory2=newConcreteFactory2();Clientclient2=newClient(factory2);client2.Run();//WaitforuserinputConsole.Read();}}//"AbstractFactory"abstractclassAbstractFactory{publicabstractAbstractProductACreateProductA();publicabstractAbstractProduct

4、BCreateProductB();}//"ConcreteFactory1"classConcreteFactory1:AbstractFactory{publicoverrideAbstractProductACreateProductA(){returnnewProductA1();}publicoverrideAbstractProductBCreateProductB(){returnnewProductB1();}}//"ConcreteFactory2"classConcreteFactory2:AbstractFactory{p

5、ublicoverrideAbstractProductACreateProductA(){returnnewProductA2();}publicoverrideAbstractProductBCreateProductB(){returnnewProductB2();}}//"AbstractProductA"abstractclassAbstractProductA{}//"AbstractProductB"abstractclassAbstractProductB{publicabstractvoidInteract(AbstractP

6、roductAa);}//"ProductA1"classProductA1:AbstractProductA{}//"ProductB1"classProductB1:AbstractProductB{publicoverridevoidInteract(AbstractProductAa){Console.WriteLine(this.GetType().Name+"interactswith"+a.GetType().Name);}}//"ProductA2"classProductA2:AbstractProductA{}//"Prod

7、uctB2"classProductB2:AbstractProductB{publicoverridevoidInteract(AbstractProductAa){Console.WriteLine(this.GetType().Name+"interactswith"+a.GetType().Name);}}//"Client"-theinteractionenvironmentoftheproductsclassClient{privateAbstractProductAAbstractProductA;privateAbstractP

8、roductBAbstractProductB;//ConstructorpublicClient(AbstractFactoryfactory){A

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

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

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