设计模式之行为模式(一)

一 Template模式
 
   一句话,就是使用抽象类定义一个实现的框架,把有些实现延迟到子类去实现。
 
二 Memento模式
 
   这个模式也很容易理解,memento是一个保存另外一个对象内部状态拷贝的对象.
 
这样以后就可以将该对象恢复到原先保存的状态.
 
三 Observer模式
 
   AWT中的事件监听器就是采用的这种模式,这个模式主要就是通过监听者这样的一个
 
属性解耦事件的发生者和事件的响应者。否则,当事件发生时,在事件的发生者的方法
 
必须调用响应者的处理方法,这样,使得这两者将高度依赖。如果把事件当作消息的话,
 
这个就是相当于使用消息处理机制解耦消息的发送者和消息的接收者。
 
四 chain of responsibility
 
   我觉得这跟composite和decorator其实有点相像,层层处理。
 
   该模式主要是用来处理请求的,由于请求种类多,如果放在一个接口里使用不同的
 
方法去处理各种不同的请求,当请求变化时,由于语言(java)一般为静态,横向扩展
 
必须修改接口,重新编译,但是如果使用chain of responsibility,把请求的种类的处
 
理从横向改为纵向。这样多一种请求,只要多添加一个处理接口的实现(处理类的子类)
 
,而无须更改接口,这符合了设计原则的开闭原则,即变化靠的是继承,而不是更改原
 
来的代码。
 
五 command模式
 
    我觉得这跟observer模式有点相像,本来命令的调用者是在调用方法里直接执行命令
 
接收者的动作的,这里使用命令接口来对这个执行请求进行了封装,解耦了命令执行者和
 
命令接收者。java的swing菜单都是command模式。命令调用者调用的是菜单命令,而菜单
 
命令再去调用命令的接收者的相应动作,菜单命令实现了命令接口。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值