你好,这里是codetrend专栏“跟着GPT学设计模式”。
提示词: 对模板模式进行定义说明,优缺点说明。
模板模式,全称是模板方法设计模式,英文是 Template Method Design Pattern。模板模式是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的具体实现延迟到子类中。该模式使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板模式的核心思想是将一个算法的不变部分封装在一个模板方法中,将可变的部分留给子类去实现。
在模板模式中,通常包含以下几个角色:
模板模式具有以下优点:
缺点:
提示词: 用mermaid语法描述模板模式的实现。
classDiagram
class AbstractClass {
+templateMethod()
#primitiveOperation1()
#primitiveOperation2()
}
class ConcreteClass {
+primitiveOperation1()
+primitiveOperation2()
}
AbstractClass <|-- ConcreteClass
提示词: 模板模式应用场景。
提示词: 使用java语法输出模板模式的demo。
abstract class AbstractClass {
public void templateMethod() {
primitiveOperation1();
primitiveOperation2();
}
protected abstract void primitiveOperation1();
protected abstract void primitiveOperation2();
}
class ConcreteClass extends AbstractClass {
@Override
protected void primitiveOperation1() {
System.out.println("具体操作1的实现");
}
@Override
protected void primitiveOperation2() {
System.out.println("具体操作2的实现");
}
}
public class Main {
public static void main(String[] args) {
AbstractClass abstractClass = new ConcreteClass();
abstractClass.templateMethod();
}
}
在这个示例中,AbstractClass 是抽象类,定义了一个模板方法 templateMethod() 和两个受保护的基本操作方法 primitiveOperation1() 和 primitiveOperation2()。
ConcreteClass 是具体子类,继承自 AbstractClass,并实现了基本操作方法。在 Main 类中实例化了 ConcreteClass 对象,并调用了它的模板方法 templateMethod()。
运行以上代码,输出结果将是:
具体操作1的实现
具体操作2的实现
以上内容基于GPT创建和整理。
来自一线全栈程序员nine的探索与实践,持续迭代中。
欢迎评论、点赞、收藏、关注。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。