当前位置: 首页 > news >正文

新颖的网络营销方式seo网络推广专员

新颖的网络营销方式,seo网络推广专员,建筑电工证,大连建设工业产品网站系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式#xff0c;5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式#xff0c;每一种模式的概念、使用…系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式每一种模式的概念、使用场景和优缺点。 设计模式之模板方法模式通俗易懂快速理解以及模板方法模式的使用场景 设计模式之-建造者模式通俗易懂理解以及建造者模式的使用场景和示列代码 设计模式之-代理模式快速掌握理解代理模式以及代理模式的使用场景 设计模式之-原型模式快速掌握原型模式通俗易懂的理解原型模式以及使用场景 设计模式之-中介者模式快速掌握中介者模式通俗易懂的讲解中介者模式以及它的使用场景 设计模式之-责任链模式快速掌握责任链模式通俗易懂的讲解责任链模式以及它的使用场景 设计模式之-装饰模式快速掌握装饰模式通俗易懂的讲解装饰模式以及它的使用场景 文章目录 系列文章目录前言一、使用场景通常二、通过一个故事来更好地理解它当谈到模板方法模式时我们可以通过一个故事来更好地理解它。以下是对应于故事的代码示例 前言 当谈到模板方法模式时在面向对象的编程中它是一种行为设计模式。模板方法模式定义了一个操作中的算法骨架将一些步骤延迟到子类中实现使得子类可以在不改变算法结构的情况下重新定义算法中的某些步骤。 使用模板方法模式的主要目的是将通用的算法步骤抽象到父类中然后通过具体的子类来实现这些步骤的具体细节。这样可以避免代码的重复并且使得算法的结构更加清晰可见。 一、使用场景通常 模板方法模式的使用场景通常是在以下情况下 当有一个通用的算法结构但其中的某些步骤的具体实现可能会有所不同时可以使用模板方法模式。例如一个建筑公司可能有多个具体的建筑项目但它们共享相同的施工过程。 当需要在不改变算法结构的情况下通过子类来扩展或修改某些步骤的实现时可以使用模板方法模式。 二、通过一个故事来更好地理解它 当谈到模板方法模式时我们可以通过一个故事来更好地理解它。 假设有一个叫做Tom的人他是一名音乐家他每天都有一套固定的音乐表演流程。这个流程包括三个步骤准备乐器、演奏音乐、道别观众。 Tom为了能够更好地组织自己的表演决定使用模板方法模式。他创建了一个名为Musician的抽象类其中定义了一个名为performance的模板方法。 开始 Tom首先准备乐器这是表演的第一步。在抽象类Musician中他定义了一个名为prepareInstrument的抽象方法他知道这是一个必须由不同的音乐家来具体实现的步骤。 然后 Tom开始演奏音乐这是表演的第二步。在抽象类Musician中他定义了一个名为playMusic的具体方法这个方法有一个默认的实现其中包含了一些通用的演奏操作。 最后 Tom道别观众这是表演的最后一步。在抽象类Musician中他定义了一个名为farewellAudience的抽象方法他知道每个音乐家都有不同的方式来与观众道别。 Tom创建了两个具体的子类Pianist和Violinist他们都继承了Musician类。在这两个子类中他们分别实现了抽象方法prepareInstrument和farewellAudience。 当Tom要进行表演时他选择具体的子类来实例化并调用performance方法。这个方法按照抽象类中定义的顺序依次调用了prepareInstrument、playMusic和farewellAudience方法。 通过模板方法模式Tom可以轻松地组织自己的音乐表演流程而不必关心每个具体步骤的细节。他可以根据需要选择不同的子类来实现特定的步骤从而实现了代码的复用和灵活性的提高。 以下是对应于故事的代码示例 // 抽象类 abstract class Musician {// 模板方法public final void performance() {prepareInstrument();playMusic();farewellAudience();}// 抽象方法子类必须实现protected abstract void prepareInstrument();// 具体方法子类可以选择性实现protected void playMusic() {System.out.println(Playing music);}// 抽象方法子类必须实现protected abstract void farewellAudience(); }// 具体类钢琴家 class Pianist extends Musician {Overrideprotected void prepareInstrument() {System.out.println(Preparing piano);}Overrideprotected void farewellAudience() {System.out.println(Farewell, audience);} }// 具体类小提琴家 class Violinist extends Musician {Overrideprotected void prepareInstrument() {System.out.println(Preparing violin);}Overrideprotected void farewellAudience() {System.out.println(Farewell, audience);} }// 客户端代码 public class Main {public static void main(String[] args) {Musician pianist new Pianist();pianist.performance();Musician violinist new Violinist();violinist.performance();} }在上面的示例中Musician是一个抽象类其中定义了一个模板方法performance这个方法包含了一系列的表演步骤调用。其中prepareInstrument和farewellAudience是抽象方法需要在具体的子类中实现而playMusic是一个具体方法可以选择性地在子类中实现。 Pianist和Violinist是具体的子类它们继承了Musician并实现了其中的抽象方法。通过调用performance方法可以看到具体子类中的实现细节按照抽象类中定义的算法骨架被执行。 这样通过模板方法模式Tom可以按照固定的流程进行音乐表演而不必关心每个具体步骤的细节。他可以根据需要选择不同的子类来实现特定的步骤从而实现了代码的复用和灵活性的提高。
http://www.tj-hxxt.cn/news/228401.html

相关文章:

  • 网站导航如何用响应式做网站优化排名工具
  • 邢台市做网站电话档案网站建设优秀代表
  • 网站建设的出发点闵行网站建设公司
  • 华汇建设集团有限公司网站新东方考研班收费价格表
  • 上海地区做旧物回收的网站公关公司提供的服务有哪些
  • 成都微信网站建设网站建站华为云
  • 怀化同城网站金融视频直播网站开发
  • 网站关键词可以做几个贵阳seo计费管理
  • 建设班级网站 沟通无限在谷歌上做英文网站
  • 冯站长之家张掖市网站建设
  • 学校网站建设运行简介想做一个自己的网站怎么做的
  • 简约大气风格网站模板辽宁工程招标信息网
  • 建设婚介网站石家庄个人做网站
  • 响应式网站建设资讯wordpress修改网址导航
  • 深圳云购网站制作网站图标psd
  • 亿级别网站开发注意网站支付怎么做虚拟币支付
  • 邢台路桥建设总公司没有网站吗网站建设方案机构
  • 网站建设综合实训总结关键词排名优化价格
  • 建筑设计参考网站合肥公司建站模板
  • 网站建设yu免费下载图片设计
  • 网站建设公司方案新开最好的传奇网站
  • 做营销型网站需要注意哪些点建设网站实训
  • 三大框架网站开发网站dns错误
  • 网站建设团队定制制作网页的常用软件
  • 烟台建设网站免费海报制作app
  • ps网站logo制作教程archdaily
  • 用于公司网站建设的费用记帐分录wordpress安装空白页
  • 清新网站模板网站排名突然没有了
  • 合浦县城乡规划建设局网站做外汇网站卖判刑多少年
  • 推广网站实例国外ip代理