7_Java常用设计模式

7_Java常用设计模式

ID:37483306

大小:3.47 MB

页数:63页

时间:2019-05-24

7_Java常用设计模式_第1页
7_Java常用设计模式_第2页
7_Java常用设计模式_第3页
7_Java常用设计模式_第4页
7_Java常用设计模式_第5页
资源描述:

《7_Java常用设计模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java与设计模式Lesson1设计模式分类创建模式结构模式行为模式优点面向接口编程降低耦合性增加灵活性创建模式设计模式之Factory-工厂模式客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。设计模式之Factory-工厂模式publicclassFactory{publicstaticSamplecreator(intwhich){if(which==1)returnnewSampleA();elseif(which==2)returnnewSample

2、B();}}publicclassSampleAextendsSample{}publicclassSampleBextendsSample{}如果要实例化Sample时.就使用Samplea=Factory.creator(1);//instanceofSampleASampleb=Factory.creator(2);//instanceofSampleBpublicclassFactory{publicstaticSamplecreator(StringclassName){//getClass产生Sample一般可使用动态类装载装入类。Class

3、c=Class.forName(className);return(Sample)c.newInstance();}}如何调用Builder模式:Samplea=Factory.creator(“SampleA”);//instanceofSampleASampleb=Factory.creator(“SampleB”);//instanceofSampleB设计模式之FACTORYMETHOD-工厂方法模式核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这

4、种细节。设计模式之FACTORYMETHOD工厂模式publicabstractclassFactory{publicabstractSamplecreator();publicabstractSample2creator(Stringname);}publicclassSimpleFactoryextendsFactory{publicSamplecreator(){returnnewSampleA}publicSample2creator(Stringname){returnnewSample2A}}publicclassBombFactoryexten

5、dsFactory{publicSamplecreator(){......returnnewSampleB}publicSample2creator(Stringname){returnnewSample2B}}設計模式之Builder-建造模式将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。設計模式之Builder-建造模式publicinterfaceBuilder{voidbuildPartA

6、();//創建部件A比如創建汽車車輪voidbuildPartB();//創建部件B比如創建汽車方向盤voidbuildPartC();//創建部件C比如創建汽車發動機//返回最後組裝成品結果(返回最後裝配好的汽車)//成品的組裝過程不在這裏進行,而是轉移到下面的Director類別中進行。//從而實現解耦ProductgetResult();}publicclassDirector{privateBuilderbuilder;publicDirector(Builderbuilder){this.sbuilder=builder;}publicvoidconst

7、ruct(){//將部件partApartBpartC最後組成複雜物件builder.buildPartA();builder.buildPartB();builder.buildPartC();}ProductgetResult(){returnbuilder.getResult();}}publicclassConcreteBuilderimplementsBuilder{PartpartA,partB,partC;publicvoidbuildPartA(){//这里是具体如何构建p

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

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

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