Java设计模式讲述.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java设计模式讲述

Java之美-设计模式 (Design pattern);什么是设计模式;设计模式的分类;1、单例模式(Singleton);(1)懒汉式单例;A、在getInstance方法上加同步;B、双重检查锁定;C、静态内部类;(2)饿汉式单例;单例模式应用场景;2、工厂方法模式(Factory Method);(1)简单工厂模式;举例:发送邮件和短信的例子;// 工厂类 public?class?SendFactory?{?? ??????public?Sender?produce(String?type)?{?? ????????if?(mail.equals(type))?{?? ????????????return?new?MailSender();?? ????????}?else?if?(sms.equals(type))?{?? ????????????return?new?SmsSender();?? ????????}?else?{?? ????????????System.out.println(请输入正确的类型!);?? ????????????return?null;?? ????????}?? ????}?? }?? public?class?FactoryTest?{?? ??????public?static?void?main(String[]?args)?{?? ????????SendFactory?factory?=?new?SendFactory();?? ????????Sender?sender?=?factory.produce(sms);?? ????????sender.Send();?? ????}?? }?? 输出:this is sms sender! ;(2)多个工厂方法模式;将上面的代码做下修改,改动下SendFactory类就行,如下: public?class?SendFactory?{?? ????public?Sender?produceMail(){?? ????????return?new?MailSender();?? ????}?? ?????? ????public?Sender?produceSms(){?? ????????return?new?SmsSender();?? ????}?? }?? public?class?FactoryTest?{?? ????public?static?void?main(String[]?args)?{?? ????????SendFactory?factory?=?new?SendFactory();?? ????????Sender?sender?=?factory.produceMail();?? ????????sender.Send();?? ????}?? }?? 输出:this is mailsender! ;(3)静态工厂方法模式;应用实例: Spring BeanFactory;应用实例:Spring 工厂方法注入;/**? ?*?静态的工厂方法注入? ?*?@author?Administrator? ?*? ?*/?? public?class?CarFactory2?{?? ?? ????public?static?Car?createHongQiCar(){?? ????????Car?car?=?new?Car();?? ????????car.setName(红旗);?? ????????car.setSpeed(200);?? ????????return?car;?? ????}?? ?????? }?? 对应的bean2.xml文件 bean?id=car?class=com.lbx.factory.CarFactory2?factory-method=createHongQiCar/bean?? ;问题;3、抽象工厂模式(Abstract Factory);示例;两个工厂类:;;4、建造者模式(Builder);;建造者模式应用场景;应用实例:AltrtDialog.Builder;5、原型模式(Prototype);public interface Prototype{ /** * 克隆自身的方法 * @return 一个从自身克隆出来的对象 */ public Object clone(); } public class ConcretePrototype1 implements Prototype { public Prototype clone(){ //最简单的克隆,新建一个自身对象,由于没有属性就

文档评论(0)

麻将 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档