設计模式的一些故事.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
設计模式的一些故事

设计模式的一些故事前言为何要了解设计模式,所谓设计模式,就是一些“标准”的代码编写方法和格式。学习的好处:你能够更快看懂开源的代码理解作者的思想;你自己编写的代码更规范,更显专业。设计模式无关语言开发工具,对于所有计算机代码都是通用的,因为它本身不是源于计算机,而是出自建筑行业。(有兴趣可查看GOF相关书籍)如果你的代码不遵循这些通用的模式或标准来编写,就无法很好遵循软件基本的“开放-闭合”原则,整个程序其实就是个大型的switch语句集合,可读性差而且在不同情况下调用不同的函数——这导致了代码的紧耦合以及整个软件难以适应变化。整个程序就像真正用卡片做成的房子一样,几乎每天都会轰然倒下。即使是最微小的变化可能都要花费几个小时来恢复程序的稳定性。如果你能够理解设计模式并很好的使用,工作中就可能尽量避免弯路,毕竟这些都是前人从生活中总结的经验教训。一、单例Singleton模式来看一下使用场景:一个国家只能有一位总统(可能在正常情况下)。所以不管任何时候我们需要一位总统,使用AmericaPresident就能返回一个。getPresident()方法将确保只有一个总统对象被创建。否者,一个国家有多个总统就不妙了。单例模式Java示例代码package gramcreek.designpatterns.singleton;?public class AmericaPresident {????private AmericaPresident() {??? }?????private static final AmericaPresident thePresident=new AmericaPresident();?????public static AmericaPresident getPresident(){????????return thePresident;????}}模式升级,在第一次使用的时候创建单例。????private static AmericaPresident thePresident = null;?public static AmericaPresident getPresident(){if (thePresident == null) {thePresident=new AmericaPresident();}????????return thePresident;????}单例模式在?Java?标准库中的使用java.lang.Runtime#getRuntime()?是Java?标准库中常用的方法,它返回与当前Java应用关联的运行时对象。下面是getRunTime()?的一个简单例子,它在windows系统上读取一个网页。Process p = Runtime.getRuntime().exec(????????C:/windows/system32/ping.exe );//get process input stream and put it to buffered readerBufferedReader input = new BufferedReader(new InputStreamReader(????????p.getInputStream()));?String line;while ((line = input.readLine()) != null) {????System.out.println(line);}?input.close();上述代码就是调用操作系统的ping命令。二、工厂Factory模式1.关于工厂模式工厂模式是根据不同的参数创建对象。例如用工厂创建人。如果我们想要一个男孩,工厂就会为我们生产一个男孩(Boy Class);如果我们需要一个女孩(Girl Class),工厂则会为我们生产一个女孩。工厂会根据不同的参数,为我们提供不同的物品。2.工厂模式类图?3.工厂模式Java代码interface Human {????public void Talk();????public void Walk();}?class Boy implements Human{????@Override????public void Talk() {????????System.out.println(Boy is talking...);??????? ????}?????@Override????public void Walk() {????????System.out.println(Boy is walking...);????}}?class Girl implements Human{?????@Override????public void Talk

文档评论(0)

df9v4fzI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档