关于JAVA-单例模式,工厂模式,代理设计,模板设计.docVIP

关于JAVA-单例模式,工厂模式,代理设计,模板设计.doc

  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-单例模式,工厂模式,代理设计,模板设计

单例模式,工厂模式,代理设计,模板设计 单例模式:?? 作为对象的创建模式,单例模式确保某一类只有一个实例,而且自行实例化并向这个系统提供这一实例,这个类称为单例类. 单例模式的要点: 某个类只能有一个实例 必须自行创建这个实例 必须自行向这个系统提供这个实例 在java中,可以使用一下这种方式使用单例模式创建类的实例:?? public class MyBean(){ ?? pvivate static MyBean instance = null; ?? pvivate MyBean(){ ??? //do something ?? } ?? public static synchronized MyBean getInstance(){ ??? if(instance == null){ ???? instance = new MyBean(); ??? }else{ ??? } ??? return instance; ?? } } 一些资源管理器常常设计成单例模式。   在计算机系统中,需要管理的资源包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能有一 printer Spooler, 以避免两个打印作业同时输出到打印机中。每台计算机可以有若干传真卡,但是只应该有一个软件负责管理传真卡,以避免出现两份传真作业同时传到传真卡中的情况。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。   需要管理的资源包括软件内部资源,譬如,大多数的软件都有一个(甚至多个)属性(properties)文件存放系统配置。这样的系统应当由一个对象来管理一个属性文件。   需要管理的软件内部资源也包括譬如负责记录网站来访人数的部件,记录软件系统内部事件、出错信息的部件,或是对系统的表现进行检查的部件等。这些部件都必须集中管理,不可政出多头。   这些资源管理器构件必须只有一个实例,这是其一;它们必须自行初始化,这是其二;允许整个系统访问自己这是其三。因此,它们都满足单例模式的条件,是单例模式的应用。 V2. 工厂模式 工厂模式介绍(java)收藏 一、引子 ?????? 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi后他说“开奥迪车!”。 ?????? 你一定说:这人有病!直接说开车不就行了?! ?????? 而当把这个爆发户的行为放到我们程序语言中来,我们发现C语言一直是通过这种方式来坐车的! ?????? 幸运的是,这种有病的现象在OO语言中可以避免了。下面以Java语言为基础来引入我们本文的主题:工厂模式!! 二、简介 ??????? 工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类: ??????????????? 1. 简单工厂模式(Simple Factory)??????????????? ??????????????? 2. 工厂方法模式(Factory Method) ??????????????? 3. 抽象工厂模式(Abstract Factory) ??????? 这三种模式从上到下逐步抽象,并且更具一般性。 ??????? 还有一种分类法,就是将简单工厂模式看为工厂方法模式的一种特例,两个归为一类。两者皆可,这本为使用《Java与模式》的分类方法。 ??????? 在什么样的情况下我们应该记得使用工厂模式呢?大体有两点: ??????????????? 1.在编码时不能预见需要创建哪种类的实例。 ?????????? 2.系统不应依赖于产品类实例如何被创建、组合和表达的细节 ???????? 工厂模式能给我们的OOD、OOP带来哪些好处呢?? ??????? 等我们讲完后,大概你就能知道了?????? 三、简单工厂模式 ??????? 顾名思义,这个模式本身很简单,而且使用在业务较简单的情况下。 ??????? 它由三种角色组成: ??????????????? 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。 ??????????????? 抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。 ??????????????? 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。 ??????? 来用类图来清晰的表示下的它们之间的关系(如果对类图不太了解,请参考我关于类图的文章): ?????

文档评论(0)

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

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

1亿VIP精品文档

相关文档