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

哪家网站建设好程序员wordpress插件

哪家网站建设好,程序员wordpress插件,安徽网站建设电话,搜狗网站推广系列文章目录 设计模式之-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.dnsts.com.cn/news/36055.html

相关文章:

  • 虹口专业网站建设南昌有哪些企业网站
  • 交互式网站开发技术成功案例 网站
  • 网站开发类论文题目房产app平台有哪些
  • 企业网站的开发背景备案信息网站被注册
  • 攀枝花建设规划网站仿站怎么做
  • 做暖视频网站免费wordpress 增删改查
  • 做暧小说在线观看网站做民宿房东怎样上网站卖房
  • 一站式软文发布推广平台网站建设方面的论文
  • 苏州网站建设公司排名做ps图标什么网站最好
  • 网站建设龙岗门户网站开发是什么
  • 河南网站seo没有做防注入的网站
  • a家兽装定制网站室内设计最好的公司
  • 大连企业建设网站手机网站 像素
  • 烟台市做网站找哪家好公司网页网站建
  • 网站不兼容360浏览器咨询公司ppt
  • 自建wap网站厦门建站比较好的公司
  • 郑州网站改版高端模版网站
  • 乌海建设局网站杭州网站制作培训
  • 茂名高端模板建站wordpress启用摘要失效
  • 怎么制作网站小游戏蔚县住房和城乡规划建设局网站
  • 芜湖网站设计安溪住房和城乡规划建设局网站
  • 简单制作网站的过程英文 网站 源码
  • 网站底部制作广州网站建设推广公司
  • 微信公众号 做不了微网站蛋糕店网站模板
  • 深圳网站建设服务好公司如何破解网站管理员登陆密码
  • 招商信息发布网站大全网站双收录怎么做301跳转
  • 东莞建外贸网站好公司法人变更的基本流程
  • 酷站网网站侧边栏导航代码
  • 关于做公司app的软件或网站wordpress支持七牛
  • 网站后台验证码出不来知更鸟wordpress设置注册