摘要: 迭代子(Iterator)模式又叫游标(Cursor)模式,是对象的行为模式。 定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。 类型:行为类模式 类图: 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码 阅读全文
posted @ 2016-08-12 15:56 scevecn 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 定义: 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。这里的算法的结构,可以理解为你根据需求设计出来的业务流程。特定的步骤就是指那些可能在内容上存在变数的环节。 开闭原则是指一个软件实体应该对扩展开放,对修改关闭。也就是说软件实体必 阅读全文
posted @ 2016-08-11 15:43 scevecn 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 外观模式/门面模式 1.概念 为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。 2.UML 由于外观模式的结构图过于抽象,因此把它稍稍具体点。假设子系统内有三个模块,分别是ModuleA、ModuleB和ModuleC,它们分别有一个示例方法 阅读全文
posted @ 2016-08-10 09:23 scevecn 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 概念 将一个接口转换成客户希望的另外一个接口。(该模式使得原本不兼容的类可以一起工作)。 UML图 适配器模式有类的适配器模式和对象的适配器模式两种不同的形式。 (1)对象的适配器模式结构图 (2)类的适配器模式结构图 模式所涉及的角色有: ● 目标(Target)角色:这就是所期待得到的接口。注意 阅读全文
posted @ 2016-08-09 17:30 scevecn 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 理解还不到位,先窜出来。等过一阵子再看,再理解。 定义:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 类型:行为类模式 类图: 命令模式的结构 顾名思义,命令模式就是对命令的封装,首先来看一下命令模式类图中的基本结构: 命 阅读全文
posted @ 2016-08-09 11:10 scevecn 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 概念: 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 适用场景: 在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以 阅读全文
posted @ 2016-08-04 15:57 scevecn 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类: (1)简单工厂(Simple Factory)模式,又称静态工厂方法模式(Static Factory Method Pattern)。 (2)工厂方法(Factory Method)模式,又称多态性工厂(Poly 阅读全文
posted @ 2016-08-04 10:54 scevecn 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加 阅读全文
posted @ 2016-07-28 15:55 scevecn 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 看了好几篇文章,最终还是觉得《Head First 设计模式》举得例子比较符合观察者模式。 观察者模式概述: 观察者模式有时被称作发布/订阅模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 观察者 阅读全文
posted @ 2016-07-27 17:11 scevecn 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 感受:将算法从方法级别,提升到类级别。之后利用java多态,来切换不同的算法实现不同的功能。 在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策 阅读全文
posted @ 2016-07-15 11:33 scevecn 阅读(295) 评论(0) 推荐(0) 编辑