
设计模式
gary0917
这个作者很懒,什么都没留下…
展开
-
Java设计模式—单例模式(single)
目录 目的 应用实例 代码 目的 保证一个类仅有一个实例,并提供一个访问它的全局访问点。(菜鸟教程) 应用实例 一个国家有一个首都 Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。 代码 第一种: package com.gary.design...原创 2018-10-03 23:45:05 · 2258 阅读 · 0 评论 -
Java设计模式—观察者模式(IListenner、ISpeaker)
目录 目的 应用实例 代码 目的 定义对象间的一种一对多依赖关系,当一个对象的状态发生改变时候,所有依赖于它的对象都得到通知并被自动更新。 应用实例 接水的时候,接水的人观察水位,当水位到一定程度时候便停止接水; 老师一布置任务,学生听到都得做。 代码 package com.gary.designpattern.observe;...原创 2018-10-03 23:36:53 · 391 阅读 · 0 评论 -
Java设计模式—建造者模式(build)
目录 目的 应用实例 代码 目的 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 应用实例 JAVA 中的 StringBuilder。 商品不同的套餐实际为不同的单件通过组合模式组合成的。 代码 package com.gary.designpattern.build; public class Person { p...原创 2018-10-03 23:52:12 · 830 阅读 · 0 评论 -
Java设计模式—抽象工厂模式(factory)
目录 目的 应用实例 代码 目的 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 工厂模式是最常用的设计模式之一。这种类型的设计模式输出创建型模式,提供了一种创建对象的最佳方式。 在工厂模式中创建对象是通过使用一个共同 的接口来指向新创建的对象。 应用实例 一个框架或者系统要由多个子工具系列的一个工具来配置时候。 提供一个产品类库,只显...原创 2018-10-04 00:07:06 · 165 阅读 · 0 评论 -
Java设计模式—适配器模式(adapter)
目录 目的 应用实例 代码 目的 将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 应用实例 三角插座到双角插座的转换需要一个适配器。 音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。 代码 public interface Three {...原创 2018-10-04 00:13:59 · 335 阅读 · 0 评论 -
Java设计模式—原型模式
目录 目的 应用实例 代码 目的 原型模式属于对象的创建模式。通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。即用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 应用实例 细胞的分裂 Java中Object 的 clone()方法 代码 原型角色:定义用于复制现有实例来生成...原创 2018-12-21 12:41:23 · 131 阅读 · 0 评论 -
Java设计模式—中介模式(Mediator)
目录 目的 应用实例 代码 目的 利用一个中介处理不同类间的交互,松耦合。 应用实例 MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介。 代码 /** * describe:中介 * * @author gary * @date 2018/12/27 */ public class Mediator { public ...原创 2018-12-27 19:02:51 · 160 阅读 · 0 评论 -
Java设计模式—职责链模式(Chain of Responsibility)
目录 目的 应用实例 代码 目的 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将他们连接成一条链,并且沿着这条链传递请求,直到有对象处理为止。 应用实例 职责链上的处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递。 Servlet的过滤器Fileter。 代码 package com.gar...原创 2018-12-23 11:59:25 · 219 阅读 · 0 评论