java几种常用设计模式.docxVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java几种常用设计模式简单示例 模式概述 设计模式可确保通过熟知和公认的解决方案解决常见问题。模式存在的事实基础在 于:大多数问题,可能已经有其他个人或开发小组解决过了。因此,模式提供了一种在开发人员和组织之间共享可使用解决方案的形式。无论这些模式的出处是什 么,这些模式都利用了大家所积累的知识和经验。这可确保更快地开发正确的代码,并降低在设计或实现中出现错误的可能性。此外,设计模式在工程小组成员之间 提供了通用的术语。参加过大型开发项目的人员都知道,使用一组共同的设计术语和准则对成功完成项目来说是至关重要的。最重要的是,如果能正确地使用,设计 模式可以节省您大量的时间。 要想在设计中正确地运用一个设计模式,需要考虑以下条件: 1. 弄清你的问题的本质; 2. 了解这个模式; 3. 理解这个模式如何解决你的问题。 1.单例设计模式 ??所谓单例设计模式简单说就是无论程序如何运行,采用单例设计模式的类(Singleton类)永远只会有一个实例化对象产生。 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点 特点: 无论程序如何运行,该类(Singleton类)永远只会有一个实例化对象产生 在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点 具体实现步骤如下: ?(1) 将采用单例设计模式的类的构造方法私有化(用private修饰)。 ?(2) 在该类的内部产生该类的实例化对象,并将其封装成private static类型。 (3) 定义一个静态方法获取该类的实例。 代码示例: 饿汉式: /** * 单例模式之饿汉式:----线程安全,效率低 * 特点:在类加载时就已经创建好对象 * @author Darren Ho * */ public class Singleton { // 将构造方法封装为私有化 ,指明仅在类内部使用 private Singleton () { } // 在内部产生本类的实例化对象,将其封装成private static类型 Private static final Singleton instance = new Singleton(); //通过静态方法获取instance对象 public static Singleton getInstance() { return instance; } } 懒汉式: /** * 单利模式值懒汉式: 线程不安全,要运用同步锁 * @author Darren Ho * */ public class SingletonLazy { private SingletonLazy() { } private static SingletonLazy instance; public static SingletonLazy getInstance() { if (instance == null) { synchronized (SingletonLazy.class) { if (instance == null) instance = new SingletonLazy(); } } return instance; } } 2.工厂设计模式 程序在接口和子类之间加入了一个过渡端(工厂类),通过此过渡端可以动态取得实现了共同接口的子类实例化对象。 一个对象相关的职责通常有三类: 对象本身所具有的职责、创建对象的职责和使用对象的职责。 对象本身的职责:就是对象自身所具有的一些数据和方法,可通过一些公开的方法来实现它的职责。 对象的创建职责和使用职责(开发中要将两者分开,不能耦合在一个对象中,减少代码的维护工作) -- - - -工厂模式的优点 在所有的工厂模式中,我们都强调一点:两个类A和B之间的关系应该仅仅是A创建B或是A使用B,而不能两种关系都有。 在Java语言中,我们通常有以下几种创建对象的方式: ?????? (1)?使用new关键字直接创建对象; ?????? (2)?通过反射机制创建对象; ?????? (3)?通过clone()方法创建对象; ?????? (4)?通过工厂类创建对象。 工厂模式优点: 将对象的创建和使用分离,也使得系统更加符合“单一职责原则”,也有利于开闭原则,即有利于对功能的复用和系统的维护。 ??? 将对象的创建和使用分离还有一个好处:防止用来实例化一个类的数据和代码在多个类中到处都是,可以将有关创建的代码搬移到一个工厂类中。 可以引入工厂类来封装对象的创建逻辑和客户代码的实例化/配置选

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档