设计模式之行为型模式

设计模式可分为三种:创建型模式、结构型模式和行为型模式

  • 行为型模式是什么?

       关注系统中对象之间的相互交互,研究系统在运行时,对象之间的相互通信和写作,进一步明确对象的职责,总共有11种模式

  • 行为模式又有:责任链模式、迭代器模式、中介者模式、命令模式、解释器模式、访问者模式、策略模式、模板方法模式、状态模式、观察者模式和备忘录模式

责任链模式

     将能够处理同一类请求的对象连成一条链,所提交的请求沿着链传递,链上的对象逐个判断是否有能力处理该请求,如果能则处理,不能则传递给链上的下一个对象。

开发中常见的场景:
    – Java中,异常机制就是一种责任链模式。一个try可以对应多个catch,当第一个catch不匹配类型,则自动跳到第二个catch.
    – Javascript语言中,事件的冒泡和捕获机制。Java语言中,事件的处理采用观察者模式。
    – Servlet开发中,过滤器的链式处理
    – Struts2中,拦截器的调用也是典型的责任链模式
 
 

迭代器模式

     提供一种可以遍历聚合对象的方式。又称为:游标cursor模式

     – 聚合对象:存储数据
     – 迭代器:遍历数据
 
 

中介者模式

本质:

    解耦多个同事对象之间的交互关系。每个对象都持有中介者对象的引用,只跟中介者对象打交道。我们通过中介者对象统一管理这些交互关系
 
 

命令模式

将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。命令模式通过这种封装的方式实现将客户端和接收端解耦。

命令模式的几个角色:
抽象命令接口Command:定义命令的接口,声明执行的方法。
具体的命令对象ConcreteCommand:持有具体的接受者对象,完成具体的具体的命令。
接受者对象Receiver:接受者对象,真正执行命令的对象。
传递命令对象Invoker:持有命令对象,要求命令对象执行请求。
客户端对象Client:创建具体命令的对象并且设置命令对象的接受者

解释器模式

– 是一种不常用的设计模式
– 用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计。
– 当我们需要开发一种新的语言时,可以考虑使用解释器模式。

访问者模式

策略模式

– 策略模式对应于解决某一个问题的一个算法族,允许用户从该算法族中任选一个算法解决某一问题,同时可以方便的更换算法或者增加新的算法。并且由客户端决定调用哪个算法。
本质:分离算法,选择实现。

模板方法模式

状态模式

观察者模式

备忘录模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值