和构建模式、结构模式相比较,行为模式的内容要多一些。在设计模式种,行为模式强调的是类和对象之间的交互关系。它更多强调的是,在特定的行为场景种,使用哪一种设计模式是比较合适、比较得体的。
行为模式一般认为有11种,分别是命令模式、解释器模式、迭代模式、中介模式、备忘录模式、观察者模式、责任链模式、状态模式、策略模式、模板模式和访问者模式。
1、命令模式
命令模式的本质,是把接收命令的人、执行命令的人做了一个解耦。这样,不同的命令就成了一个个独立的个体。一个比较贴切的案例就是餐馆。餐馆里面的服务员会接收各种各样的服务要求,比如来一盘炒菜、来一个汤、来一份主食。这些点菜服务都可以看成是命令。把这些命令独立出来,并且把命令匹配给对应的执行者,这就是命令模式设计的初衷了。如果要画成类图,应该是这样的,
2、解释器模式
解释器模式,比较合适拿来类比的就是编译器。每一种编程语言都有自己的文法格式,或者称之为范式。那么这些范式就是一个一个小的解释器。最简单的解释器就是int a;这种。复杂一点的解释器就是if-statement、for-statement、while-statement这种。所以,这是如果把解析的接口抽象出来,其实就是解释器模式,
3、迭代器模式
迭代器模式,这个大家用的比较多。不管是