设计模式(行为型)总结

行为型模式(Behavioral Pattern)是对在不同的对象之间划分责任和算法的抽象化,行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。
作用:通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,一个对象在运行时也将影响到其他对象的运行。

分类:
模板方法模式(Template method)
观察者模式(Oberserver)
迭代模式(Iterator)
责任链模式(Chain of Responsibility)
备忘录模式(Memento)
命令模式 (Command)
状态模式(State)
访问者模式(Visitor)
中介者模式(Mediator)
策略模式(Strategy)

(1)模板方法模式(Template Method Pattern):定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法是一种类行为型模式。

模式结构:

设计模式(行为型)总结

实例:数据库连接模板(代码最下面)

设计模式(行为型)总结

优点:

a. 模板方法模式在一个类中形式化地定义算法,而由它的子类实现细节的处理。
b. 模板方法模式是一种代码复用的基本技术。
c. 模板方法模式导致一种反向的控制结构,通过一个父类调用其子类的操作,通过对子类的扩展增加新的行为,符合“开闭原则”。

缺点:

a. 每个不同的实现都需要定义一个子类,这会导致类的个数增加,系统更加庞大,设计也更加抽象,但是更加符合“单一职责原则”,使得类的内聚性得以提高。

 

代码:设计模式代码<-点这里