设计模式之模板方法模式

来源:互联网 发布:mysql having max 编辑:程序博客网 时间:2024/06/15 05:18

设计模式之模板方法模式

  • 模板方法的定义:
    在一个方法中定义一个算法的骨架,而将一些步骤延迟带子类中。模板方法可以使子类在不改变算法结构的情况下,重新定义算法中的某些步骤。
    1 不同的地方定义成抽象方法;
    2 相同的地方直接继承父类;
    3 某些方法是由超类来进行处理的,某些方法是由子类来处理的,需要由子类处理的方法需要在超 类中定义为abstruct方法,并且由子类进行重写

  • 模板方法一般形式

  • 处理coffee和茶的时候只需要继承超类就可以
    这里写图片描述

  • 本质上aodrecommend 模块用的就是模板方法模式

  • 钩子hook():
    1 提供给子类覆盖父类方法的机会;
    2 某些步骤是可选的,这时可以将该方法实现为钩子,而不是抽象方法,这样可以使该方法的子类变轻;
    这里写图片描述

好莱坞原则:
低层组件尽量不要直接调用高层组件,以免形成环路;

原创粉丝点击