课程
/后端开发
/Java
/模式的秘密---模板方法模式
钩子函数就是判断是否执行的一个辅助函数,那在实现的时候,里面的加柠檬方法是不是还是必须重写出来,只是不写实现的代码(方法空)?
2014-08-17
源自:模式的秘密---模板方法模式 2-3
正在回答
这里你不妨继续深入一下, 考虑如下场景:通过询问的方式来决定是否加入调料。比如,通过在命令行显示“是否加入调料?(Y/N)", 等待用户的反馈。然后返回true或false。然后你会发现子类对算法的实现具有了更大的灵活性,你的子类可以应对不用的场景,用户想喝茶,是否加入调料都可以轻松满足。正所谓加或不加,茶就在那里,不多不少。
总之,通过钩子函数我们合理的扩展了算法的使用场景,提升了代码弹性和可复用性,这就是我们使用模式的终极目的。
是的,一般情况下(即你的实现类不是抽象类)是必须的。因为父类的加调料方法是抽象方法(abstract修饰)。
举报
封装算法框架的模板方法模式,用案例告诉你模板方法模式的强大
2 回答这个讲的啥模板
1 回答感觉没血到啥啊
2 回答你怎么这么萌萌哒
1 回答模板方法是什么
1 回答所谓钩子函数是什么