您现在的位置是:主页 > news > 做网站详细步骤/长尾关键词排名推广

做网站详细步骤/长尾关键词排名推广

admin2025/5/7 21:18:46news

简介做网站详细步骤,长尾关键词排名推广,佛山专业做网站公司有哪些,顺德网站建设怎么样1 概念 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 2 应用场景 有多个子类共有的…

做网站详细步骤,长尾关键词排名推广,佛山专业做网站公司有哪些,顺德网站建设怎么样1 概念 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 2 应用场景 有多个子类共有的…

1 概念

在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

2 应用场景

  • 有多个子类共有的方法,且逻辑相同。
  • 重要的、复杂的方法,可以考虑作为模板方法。

3 实际使用案例

3.1 场景分析

一个国际上市公司的老板Tom经常去不同的国家谈合作,邮件中需要进行自我介绍,在不同的国家需要不同的语言,但是介绍的模板都是相同的,主需要更换不同语言的名字就可以实现自我介绍的模板,因此我们设计一个签名的抽闲,几个不同的语言进行具体的实现,实例化时只需要声明代表不同语言的实现类,设置好不同语言的签名就可以简单的进行自我介绍。

3.2 类图

在这里插入图片描述

3.3 代码实现

Signature抽象类

/*** @desc: 签名抽象类* @author: YanMingXin* @create: 2021/8/28-22:08**/
public abstract class Signature {public String name;/*** 打开笔*/public abstract void open();/*** 关闭笔*/public abstract void close();/*** 签名的内容*/public abstract void print();/*** 进行显示*/public void display() {open();print();close();}
}

ChineseSignature类

/*** @desc: 中文签名* @author: YanMingXin* @create: 2021/8/28-22:08**/
public class ChineseSignature extends Signature{public ChineseSignature(String name){this.name=name;}@Overridepublic void open() {System.out.print("我的中文名字是 : ");}@Overridepublic void close() {System.out.print("。");}@Overridepublic void print() {System.out.print(name);}
}

EnglishSignature类

/*** @desc: 英文签名* @author: YanMingXin* @create: 2021/8/28-22:08**/
public class EnglishSignature extends Signature{public EnglishSignature(String name) {this.name=name;}@Overridepublic void open() {System.out.print("My English is : ");}@Overridepublic void close() {System.out.print(".");}@Overridepublic void print() {System.out.print(name);}
}

RussianSignature类

/*** @desc: 俄文签名* @author: YanMingXin* @create: 2021/8/28-22:09**/
public class RussianSignature extends Signature{public RussianSignature(String name){this.name=name;}@Overridepublic void open() {System.out.print("Моё русское имя : ");}@Overridepublic void close() {System.out.print(".");}@Overridepublic void print() {System.out.print(name);}
}

测试类:

/*** @desc: 模板方法模式测试* @author: YanMingXin* @create: 2021/8/28-22:06**/
public class MyTemplate {public static void main(String[] args) {Signature signature = new ChineseSignature("汤姆");signature.display();System.out.println();signature = new EnglishSignature("Tom");signature.display();System.out.println();signature = new RussianSignature("Том");signature.display();}
}

测试结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Nw9hfz5-1630196089620)(深入浅出模板方法模式.assets/image-20210828222524282.png)]