网站大量收购闲置独家精品文档,联系QQ:2885784924

Java中23种设计模式.docx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java中23种设计模式目录1. 设计模式 31.1 创建型模式 41.1.1 工厂方法 41.1.2 抽象工厂 61.1.3 建造者模式 101.1.4 单态模式 131.1.5 原型模式 151.2 结构型模式 171.2.1 适配器模式 171.2.2 桥接模式 191.2.3 组合模式 231.2.4 装饰模式 261.2.5 外观模式 291.2.6 享元模式 321.2.7 代理模式 341.3 行为型模式 371.3.1 责任链模式 371.3.2 命令模式 401.3.3 解释器模式 431.3.4 迭代器模式 451.3.5 中介者模式 491.3.6 备忘录模式 521.3.7 观察者模式 541.3.8 状态模式 581.3.9 策略模式 611.3.10 模板方法 631.3.11 访问者模式 651. 设计模式(超级详细)1.1 创建型模式AbstractFactory ( 抽象工厂 )FactoryMethod ( 工厂方法 )Singleton ( 单态模式 )Builder ( 建造者模式 )Protot*pe * 原型模式 )1.1.1 工厂方法 *义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例*延迟到其子类。适用性 1.当一个类不知道它所必须创建的对象的类的时候。 2.当一个类希望由它的子类来指定它所创建的对象的时候。 3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个帮助子类是代理者这一信息局部化的时候。参与者 1.Product定义工厂方法所创建的对象的接口。 2.ConcreteProduct实现Product接口。 3.Creator声明工厂方法,该方法返回一个Product类型的对象* Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。可以调用工厂方法以创建一个Product对象。 4.ConcreteCreator重定义工厂方法以返回一个ConcreteProduct实例。类图例子*roductpublic interface Work { void doWork();}ConcreteProductpublic class StudentWork implements Work { public void doWork() { System.out.println(学生*作业!); }}public class TeacherWork implements Work { public void doWork() { System.out.println(老师审批作业!); }}Creatorpublic interface IWorkFactory { Work get*ork();}Concre*eCreatorpu*lic class StudentWorkFactory implements IWorkFactory { public Work getWork() { *eturn new StudentWork(); }}public class TeacherWorkFactory implements IWorkFactory { public Work getWork() { return new TeacherWork(); }}Testpublic class Test { public static void m*in(Strin*[] args) { IWorkFactory studentWorkFactory = new StudentWorkFactory(); studentWorkFactory.getWork().d*Work(); IWorkFactory teacherWorkFactory * new TeacherWorkFactory(); teacherWorkFactory.g*tWork().*oWork(); }}result学生做作业!老师审批作业!1.1.2 抽象工厂提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。适用性 1.一个系统要独立于它的*品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时* 4*当你提供一个产品类库,而只想显示它们*接口

文档评论(0)

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

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

1亿VIP精品文档

相关文档