IT职涯

一个多年的IT人的博客
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年12月4日

摘要: 状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了他的类。适用场景:一个对象的行为取决于他的状态,并且它必须在运行时根据状态改变它的行为;一个操作中含有庞大的多分支结构,并且这些分支决定于对象的状态。类图:模式的组成:环境类Context: 定义客户感兴趣的接口。维护一个ConcreteState子类的实例,这个实例定义当前状态;抽象状态类State: 定义一个接口以封装与Context的一个特定状态相关的行为;具体状态类ConcreteState: 每一子类实现一个与Context的一个状态相关的行为;实例:push显示红-〉黄-〉绿,pull显示绿-〉黄-〉红public 阅读全文

posted @ 2012-12-04 16:31 IT职涯 阅读(14300) 评论(0) 推荐(0)

摘要: 命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开,实现二者之间的松耦合。类图:模式结构:Command: 定义命令的接口,声明执行的方法。ConcreteCommand: 命令接口实现对象,通常会持有接受者,并调用接受者的功能来完成命令要执行的操作。Receiver: 接收者,真正执行命令的对象。任何类都可能成为一个接收者,只要它能够实现命令要求的相应功能。Invoker: 要求命令对象执行请求,通常会持有命令对象,可以持有很多的命令对象。这个是客户端 阅读全文

posted @ 2012-12-04 14:30 IT职涯 阅读(3941) 评论(0) 推荐(0)

摘要: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.如果你只想掌握一种设计模式,那么它就是模板方法.类图:抽象模板AbstractClass的方法分为两类:基本方法: 也叫做基本操作,由子类实现的方法,并且在模板方法被调用.模板方法: 可以有一个或几个, 一般是具体方法, 也就是骨架, 实现对基本方法的调度,完成固定的逻辑.为了防止恶意操作,一般模板方法会加上final关键字,不允许被覆写。实例://抽象模板public abstract class AbstractClass{ protected abstract v 阅读全文

posted @ 2012-12-04 12:08 IT职涯 阅读(3805) 评论(0) 推荐(0)