java设计模式培训讲义.pptVIP

  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文档。上传文档
查看更多
java设计模式 郭洪治 设计模式概述 设计模式是设计范畴的术语,是指相似的软件分析背景条件下,处理 同一类软件分析结果的典型设计结构 Erich Gamma 、 Richard Helm 、 Ralph Johnson 、 John Vlissides 等四人合著的《Design Patterns—Elements of Reusable Software》1995年出版后更是推动了软件设计模式的发 展。这本书畅销至今,而且四个作者被称为GOF(Gang Of Four),也就是四人组合 在面向对象的设计里面,设计模式是实现可维护性和软件复用的一个 基础 设计模式分类 创建模式 对类的实例化过程的抽象化 结构模式 描述如何将类和对象组合成更大的结构 行为模式 在不同的对象之间划分责任和算法的抽象化 单例模式描述 Singleton模式主要作用是保证在Java应用程序中,一个类Class只 有一个实例存在 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操 作,对于这样的需求,并不需要在系统中存在多个不同的实例,保存 一个实例往往是常见的选择 使用Singleton的好处还在于可以节省内存,因为它限制了实例的个 数,有利于Java垃圾回收(garbage collection),提高了系统的 性能,当然,如果需要保存不同的实例,就不必使用单例模式,开发 者可以根据自己的需要来进行选择 Java代码中的Runtime类就是一个典型的单例模式的应用 实现方式的区别 饿汉式单例在声明类的对象时,同时完成实例化操作,向本类自行提 供这个惟一的实例,而懒汉式单例在声明类的对象时,并未执行类的 实例化,只有当getInstance()方法被调用时,才判断是否需要创建 类的实例,提高了效率 调用方式1 public class TestSingletonServlet_A extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/html;charset=GBK); PrintWriter out = response.getWriter(); try{ XMLFileReader reader = XMLFileReader.getInstance(); String str = reader.readXML(); out.println(str); }catch(Exception e){ e.printStackTrace(); } } ...... } 调用方式2 public class TestSingletonServlet_B extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(text/html;charset=GBK); PrintWriter out = response.getWriter(); try{ XMLFileReader reader = XMLFileReader.getInstance(); reader.fileName = d:/keyword.xml; String str = reader.readXML(); out.println(str); }catch(Exception e){ e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); }} 调用结果说明 ? 在访问TestSingletonServlet_A类时,页面输出为c: /filter.xml, 然后访问TestSingletonServlet_B类,因为在 TestSingletonServlet_B类中对fileName属性进行了修改,其输出 结果为d:/keyword.xml ? 回到TestSingletonServlet_A的访问页面,刷新页面

文档评论(0)

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

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

1亿VIP精品文档

相关文档