随笔分类 -  设计模式

中介者模式(Mediator)
摘要:1. 定义 用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。2.结构Mediator:中介者定义一个接口用于与各同事(Colleague)对象通信。ConcreteMediator:具体中... 阅读全文
posted @ 2018-04-09 11:07 未亦末 阅读(457) 评论(0) 推荐(0)
生成器模式(Builder)
摘要:1. 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.结构 - Builder:生成器接口,定义创建一个Product对象所需要的各个部件的操作。 - ConcreteBuilder:具体的生成器实现,实现各个部件的创建,并负责组... 阅读全文
posted @ 2018-03-29 16:17 未亦末 阅读(356) 评论(0) 推荐(0)
外观模式(Facade)
摘要:1. 定义 为子系统中的一组接口提供一个一致的界面,Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。2.外观模式的结构 - Facade:定义子系统的多个模块对外的高层接口,通常需要调用内部多个模块,从而把客户的请求代理给适当的子系统对... 阅读全文
posted @ 2018-03-27 17:33 未亦末 阅读(331) 评论(0) 推荐(0)
观察者模式(Observer)
摘要:1. 定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。2. 结构Subject:目标对象,通常具有如下功能能。 a. 一个目标可以被多个观察者观察 b. 目标提供对观察者注册和退订的维护 c. 当目标对... 阅读全文
posted @ 2018-03-23 17:42 未亦末 阅读(230) 评论(0) 推荐(0)
装饰模式(Decorator)
摘要:1. 定义 动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。2. 结构 - Component:组件对象的接口,可以给这些对象动态添加职责。 - ConcreteComponent:具体的组件对象,实现组件对象接口,通常就是被装饰的原... 阅读全文
posted @ 2018-03-22 13:55 未亦末 阅读(145) 评论(0) 推荐(0)
适配器模式
摘要:1. 适配器模式的结构和说明 将一个类的接口转换成客户希望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2. 适配器模式的结构和说明类的适配器模式(采用继承实现) 对象适配器(采用对象组合方式实现) Client:客户端,调用自己... 阅读全文
posted @ 2018-03-20 17:41 未亦末 阅读(186) 评论(0) 推荐(0)
委派模式
摘要:1. 定义 不属于 23 种设计模式之一,是面向对象设计模式中常用的一种模式. 这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的... 阅读全文
posted @ 2018-03-20 09:58 未亦末 阅读(183) 评论(0) 推荐(0)
模板方法模式
摘要:1. 定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2. 模板方法模式的结构 - AbstractClass : 抽象类,用来定义算法骨架和原语操作,具体的子类通过重定义这些原语操... 阅读全文
posted @ 2018-03-19 17:02 未亦末 阅读(140) 评论(0) 推荐(0)
策略模式
摘要:1. 定义 定义一系列算法,把他们一个个封装起来,并且使他们可以互相替换。本模式使得算法 可以独立于使用它的客户而变化。2. 策略模式的结构Strategy : 策略接口,用来约束一系列具体的策略算法。Context使用这个接口来调用具体的策略实现定义的算法Co... 阅读全文
posted @ 2018-03-16 15:33 未亦末 阅读(260) 评论(0) 推荐(0)
代理模式
摘要:定义 为其他对象提供一种代理以控制对这个对象的访问。本质 控制对象访问实例 以歌星为例:歌星的合作过程 面谈,签合同,唱歌,收尾款 其实有些步骤不需要明星亲自去做 比如面谈,签合同,收尾款。明星只需要唱歌即可。其他交由经纪人去做!静态代理实现:Star 歌星/** ... 阅读全文
posted @ 2018-03-13 13:17 未亦末 阅读(149) 评论(0) 推荐(0)
原型模式
摘要:定义 原型模式就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。本质 克隆生成对象实例 以下已用户的原型来做学习。所谓原型模式,就是java中的克隆技术,以某个对象为原型。复制出新的对象。显然新的对象具备原型对象的特点。效率高(避免了重新执行构造... 阅读全文
posted @ 2018-03-11 22:22 未亦末 阅读(134) 评论(0) 推荐(0)
单例模式
摘要:定义 保证一个类仅有一个实例,并且提供一个访问它的全局访问点。本质 控制实例数量实例 我们在开发项目中经常用到读取配置文件 配置文件里面的配置多少公用的,整个项目都会使用,我们经常会把他做成一个工具类使用。如果不考虑单例模式的话实现如下:SystemConfigpub... 阅读全文
posted @ 2018-03-09 10:42 未亦末 阅读(154) 评论(0) 推荐(0)
工厂模式
摘要:目标主要是Car为例来学习工厂模式主要是自己学习的一个记录 以前设计模式也仔细研究过没有进行整理,虽然也放在github上 已经是很久之前的事情了,这次刚好跟着课程,重新学习重新整理。简单工厂模式定义 提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型... 阅读全文
posted @ 2018-03-08 12:17 未亦末 阅读(185) 评论(0) 推荐(0)