随笔分类 -  GoF

摘要:一、什么是命令模式 将请求封装成命令对象,请求的具体执行由命令接收者执行; 二、补充说明 命令发送者与命令执行者解耦; 可扩展命令模式:对请求排队或者记录请求日志,以及支持可撤销的操作; 每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一方收到请求,并执行操作。 三、角色 抽象命 阅读全文
posted @ 2018-01-23 14:20 limeOracle 阅读(216) 评论(0) 推荐(0) 编辑
摘要:服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位 阅读全文
posted @ 2017-04-02 11:12 limeOracle 阅读(235) 评论(0) 推荐(0) 编辑
摘要:表点 设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多 阅读全文
posted @ 2017-01-17 16:51 limeOracle 阅读(475) 评论(0) 推荐(0) 编辑
摘要:顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 装饰器模式的应用场景: 1、需要扩展一个类的功能。 2、动态的为一个对象增加功能,而且还能动态撤销。(继承不能做到这一点,继承的功能是静态的,不能动态增删。) 缺点 阅读全文
posted @ 2017-01-17 15:40 limeOracle 阅读(247) 评论(0) 推荐(0) 编辑
摘要:1.概念: 适配器模式(Adapter Pattern)把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 2.形式 a.类的适配器模式 b.对象的适配器模式 c.缺省适配器模式 3. 模式中的角色 3.1 目标接口(Target):客户所期 阅读全文
posted @ 2017-01-17 11:15 limeOracle 阅读(355) 评论(0) 推荐(0) 编辑
摘要:观察者模式定义了对象间的一对多依赖关系,让一个或多个观察者对象观察一个主题对象。当主题对象的状态发生变化时,系统恩那个通知所有的依赖于此对象观察者对象,从而使得观察者对象能够自动更新。 在观察者模式中,被观察的对象尝尝被称为目标或主题(Subject),依赖的对象被称为观察者(Observer)。 阅读全文
posted @ 2016-12-31 21:24 limeOracle 阅读(287) 评论(0) 推荐(0) 编辑
摘要:设计模式--外观模式Facade(结构型): 1. 概述 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。例子1:一个电源总开关可以控制四盏灯、一个风扇、一台空调和一台电视机的启动和关闭。该电源总开关可以同 阅读全文
posted @ 2016-12-07 13:22 limeOracle 阅读(2427) 评论(0) 推荐(0) 编辑
摘要:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 阅读全文
posted @ 2016-10-24 13:07 limeOracle 阅读(200) 评论(0) 推荐(0) 编辑
摘要:保证一个类仅有一个实例,并提供一个访问它的全局访问点 阅读全文
posted @ 2016-10-24 13:05 limeOracle 阅读(110) 评论(0) 推荐(0) 编辑
摘要:定义 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 角色 Command 定义命令的接口,声明执行的方法。 ConcreteCommand 命令接口实现对象,是“虚”的实现 阅读全文
posted @ 2016-09-05 18:45 limeOracle 阅读(440) 评论(0) 推荐(0) 编辑