HeadFirst设计模式流程图个人总结

HeadFirst设计模式流程图个人总结

ID:40554717

大小:1.44 MB

页数:36页

时间:2019-08-04

HeadFirst设计模式流程图个人总结_第1页
HeadFirst设计模式流程图个人总结_第2页
HeadFirst设计模式流程图个人总结_第3页
HeadFirst设计模式流程图个人总结_第4页
HeadFirst设计模式流程图个人总结_第5页
资源描述:

《HeadFirst设计模式流程图个人总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Gof设计模式的UML类别图:(1)Simplefactory模式:(2)Abstractfactory模式:(3)Builder模式:注:您想要建立一个迷宫产生程式,迷宫使用二维阵列来定义,0表示道路,1表示墙,2表示宝物,根据所定义的二维迷宫阵列,您想要程式自动产生各种不同材质的迷宫,例如砖墙迷宫,钻石迷宫等等。(4)FactoryMethod模式:文件编辑器(5)Prototype模式:您从图书馆的期刊从发现了几篇您感兴趣的文章,由于这是图书馆的书,您不可以直接在书中作记号或写字,所以您将当中您所感兴趣的几个主题影印出来,这下子您就

2、可在影印的文章上画记重点。Prototype模式的作用有些类似上面的描述,您在父类别中定义一个clone()方法,而在子类别中重新定义它,当客户端对于所产生的物件有兴趣并想加以利用,而您又不想破坏原来的物件,您可以产生一个物件的复本给它。Prototype具有展示的意味,就像是展览会上的原型车款,当您对某个车款感兴趣时,您可以购买相同款示的车,而不是车展上的车。Java中的clone()方法是继承自Object(6)Singleton单例模式:实现工具类CommonUtil的Singleton模式:privatestaticCommonU

3、tilcommonUtil=null;publicstaticCommonUtilgetInstance(){//加同步锁,防止多线程情况下同时进入申请实例synchronized(commonUtilLock){if(commonUtil==null){//创建工具类的单实例commonUtil=newCommonUtil();}//返回实例returncommonUtil;}}publicclassSingleton{//单线程的情况下单例模式privatestaticSingletoninstance=null;privateSin

4、gleton(){//....}publicstaticSingletongetInstance(){if(instance==null){instance=newSingleton();}returninstance;}publicclassSingleton{//多线程的情况下单例模式加互斥锁privatestaticSingletoninstance=null;privateSingleton(){}synchronizedstaticpublicSingletongetInstance(){if(instance==null){i

5、nstance=newSingleton();}returninstance;}}Double-checkLocking的模式:publicclassSingleton{privatestaticSingletoninstance=null;privateSingleton(){}publicstaticSingletongetInstance(){if(instance==null){synchronized(Singleton.class){if(instance==null){instance=newSingleton();}}}r

6、eturninstance;}}Reflection机制实现单例模式:publicclassSingleton{privatestaticSingletoninstance=null;privateSingleton(){//....}publicstaticSingletongetInstance(){if(instance==null){//getEnv表示环境变数Stringstyle=getEnv("style");try{instance=(Singleton)Class.forName(style).newInstance()

7、;}catch(Exceptione){System.out.println("Sorry!Nosuchclassdefined!");}}returninstance;}//....}RegistryofSingleton方法:importjava.util.*;publicclassSingleton{//注册表,用于注册子类别物件privatestaticMapregistry=newHashMap();privatestaticSingletoninstance;publicstaticvoidregister(Stringnam

8、e,Singletonsingleton){registry.put(name,singleton);}publicstaticSingletongetInstance(){if(instan

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

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

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