算法、逻辑大体固定相同,某些逻辑在不同场景下有不同的实现时,可以将公共部分抽取到父类中作为模板实现,其他的由子类实现。
角色: 抽象类/抽象模板,子类(实现特定逻辑)
过程:
//抽象类 abstract class AbstractClass { //模板方法 public void TemplateMethod() { SpecificMethod(); abstractMethod1(); abstractMethod2(); } //具体方法-公共逻辑 public void specificMethod() { System.out.println("抽象类中的具体方法被调用..."); } //抽象方法1 public abstract void abstractMethod1(); //抽象方法2 public abstract void abstractMethod2(); //勾子方法,子类需要就覆盖,不需要就不管 public void sayHello(){}; } //具体子类 class ConcreteClass extends AbstractClass { public void abstractMethod1() { System.out.println("抽象方法1的实现被调用..."); } public void abstractMethod2() { System.out.println("抽象方法2的实现被调用..."); } }
该博客探讨了在软件开发中如何使用模板方法设计模式。通过抽象类定义公共的逻辑并将其作为模板方法,子类则实现具体的业务逻辑。这种设计允许在不修改原有结构的情况下扩展功能,提高了代码的复用性和可维护性。
1419

被折叠的 条评论
为什么被折叠?



