• 设计模式:模板方法模式(Template Method)


          假设一个场景:每天骑自行车下班回家。我有两条路可以走,1:顺着经十路走,2:顺着经一路走。

    好,我们有两个回家的方法

    Code

    看看上面两个方法,有啥不同呢?。哦除了走哪条路,其他的都是一样的

    这样一样的方法我们抽象为模板方法,作为基类,走哪条路就让子类去做吧

    Code
    Code
    Code

    仔细看一下,代码中多了一个hook()方法,这个方法是做啥的呢?有什么好处呢。哦,原来作用是子类可以自己控制是否要执行AlongRoad()方法。假如我今天住朋友家,我只要推车子,开门就行了。(朋友家在车棚)。这个用在这个例子不太恰当,先这样吧

    天道酬勤

  • 相关阅读:
    PAT (Basic Level) Practice (中文)1002 写出这个数 (20 分)
    PAT (Advanced Level) Practice 1001 A+B Format (20 分)
    BP神经网络(原理及MATLAB实现)
    问题 1676: 算法2-8~2-11:链表的基本操作
    问题 1744: 畅通工程 (并查集)
    链表的基本操作(创建链表,查询元素,删除元素,插入元素等)
    问题 1690: 算法4-7:KMP算法中的模式串移动数组
    问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)
    Hdu1372 Knight Moves (BFS)
    Problem 2285 迷宫寻宝 (BFS)
  • 原文地址:https://www.cnblogs.com/jeffrey725/p/1522336.html
Copyright © 2020-2023  润新知