设计模式学习项目结束有一段时间了,自己还没来得及进行另外俩部分的总结,于是自己也借着巩固的机会再次帮这个总结补上。
为什么要给这一类的设计模式起一个行为型设计模式,因为它们都有各自的行为表现,都有一个动态的展现,让我们能知道它们做了什么行动。例如说观察者模式,它就表现了一种对象间的依赖行为关系,我们画UML行为图的时候都会用到依赖这种关系,我想大家都应该明白为什么叫做行为型设计模式。
还是先给大家看一下我的思维导图:
我对比了这部分的内容,我感觉行为型模式主要就是俩部分:对象行为和算法行为。对象行为又包括对象内部行为和对象间的行为。对象内部的行为包括:命令模式和状态模式。命令模式就是把一些请求封装成一个对象,这样我们可以整体的来看待这个请求,就不用去考虑这个请求的一些内部的结构。状态模式就是一个假象,对象内部状态改变也允许它行为上改变,状态和行为的改变也就在表面上意味着修改了类。外部的对象行为:观察者模式和职责链模式,观察者是一对多的依赖关系,这样就能实现更新一个对象就能更新所有依赖的对象,感觉效率会很高。职责链模式就是请求在各对象之间的顺序请求处理,就好像我们在一堆数字中找出最小的顺序选择法,一个一个去比,就相当于一个请求和一个一个对象去建立联系,看哪个对象能去处理这个请求。
算法行为:这个就是主要介绍了模版模式,模版模式就和我们学习C++中的模版一样,就是为我们准备一个算法框架,当我们应用的时候不用去修改算法内部的结构,只需要重新定义算法不同的特定步骤,重新定义特殊的部分就行了。
这部分就是对象和算法的模式设计,就是关于对象之间的关系与算法的设计,对象的动态行为就是我们设计模式要研究的课题。