如何合理创建c#对象

如何合理创建c#对象

ID:5203600

大小:277.50 KB

页数:3页

时间:2017-12-06

如何合理创建c#对象_第1页
如何合理创建c#对象_第2页
如何合理创建c#对象_第3页
资源描述:

《如何合理创建c#对象》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、如何合理创建c#对象创建对象:通常情况下,人们都不是太重视对象的创建,而是更重视类的设计,但是创建对象确实又很重要。当前比较流行的方法是:工厂创建模式工厂创建模式中的“工厂”就像真正的工厂,只是创建对象,而且,即使工厂实现有所改变,客户也不会受到影响。工厂设计模式有两种办法:1.单工厂模式///(这里不好画图,不知道我下面写的能不能正确显示)Client1product1Factoryproduct2Client2product3客户端需要的是product,他们不需要了解product类是如何建立的,只需要给工厂提供一定的信息,然后创建product对象,看个例子:usi

2、ngSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceConsoleApplication3{publicinterfaceIApparel//定义一个产品接口{stringShowMe();boolKnit{get;}}publicclassSportsShirt:IApparel//产品1(通过接口继承而来){publicstringShowMe(){return("SportsShirt");}publicboolKnit{get{returntrue;}}}publicclassDres

3、sShirt:IApparel//产品2{publicstringShowMe(){return("DressShirt");}publicboolKnit{get{returnfalse;}}}publicclassApparelFactory//创建工厂类{publicIApparelCreateApparel(stringapptype)//定义一个返回对象的方法,该方法返回类型为IApparel,这样任何实现了IApparel接口的类的对象都可以返回。{switch(apptype){case"MDRSHIRT":returnnewDressShirt();case

4、"MSPSHIRT":returnnewSportsShirt();}returnnull;}}classProgram{staticvoidMain(string[]args){ApparelFactoryfactory=newApparelFactory();IApparelob1=factory.CreateApparel("MDRSHIRT");IApparelob2=factory.CreateApparel("MSPSHIRT");Console.WriteLine(ob1.ShowMe());Console.WriteLine(ob1.Knit);Consol

5、e.WriteLine(ob2.ShowMe());Console.WriteLine(ob2.Knit);System.Threading.Thread.Sleep(100000);}}}2.多工厂模式Client1Factory1product1Client2Factory2product2Client3Factory3product3对于简单的例子,用第一种方法比较好点,不过有时用多工厂更合适,比如可能有一个分布式应用。下面的例子创建一个多工厂模式:usingSystem;usingSystem.Collections.Generic;usingSystem.Text

6、;namespaceConsoleApplication3{publicinterfaceIApparel//定义一个产品接口{stringShowMe();boolKnit{get;}}publicclassSportsShirt:IApparel//产品1(通过接口继承而来){publicstringShowMe(){return("SportsShirt");}publicboolKnit{get{returntrue;}}}publicclassDressShirt:IApparel//产品2{publicstringShowMe(){return("DressSh

7、irt");}publicboolKnit{get{returnfalse;}}}publicabstractclassAppFactory//创建工厂抽象类{publicabstractIApparelCreateApparel();//创建生产产品抽象类}publicclassDressShirtFactory:AppFactory//Dress工厂{publicoverrideIApparelCreateApparel(){//thrownewException("Themethodoroperationis

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

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

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