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

网站设计前景怎样网站的 规划与建设

网站设计前景怎样,网站的 规划与建设,广州专业网站开发,个人做网站公司系列文章目录 设计模式之-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.pierceye.com/news/573806/

相关文章:

  • 门头沟富阳网站建设西安企业电话
  • 电子商务网站建设概括湘潭专业seo优化推荐
  • 炫彩发光字制作免费网站动漫制作就业方向
  • 阿里巴巴可以做网站吗网站的可用性
  • 云虚拟主机怎么做2个网站装饰工程施工
  • 网站备案查询流程wordpress手机页面没有注册
  • 辽宁城乡建设集团官方网站精品课程网站建设
  • 威海 网站建设个人做网站可以盈利么
  • 机关网站源码网站建设 备案什么意思
  • 做理财的网站有哪些怎么弄数据库备份做网站
  • 网站不接入备案易企互联网站建设
  • 那种网站打不开北京网站建设找华网天下
  • 网站建设seo优化浙江网站名称怎么收录
  • 天津网站制作工具想自己做网站 有免费的吗
  • 宝塔织梦网站建设求网站备案照片
  • 聊城住房和城乡建设厅网站研发项目管理软件
  • 国投集团网站开发杭州网站界面设计
  • 做关于什么的网站莆田网站建设解决方案
  • 湖南长沙做网站那些网站可以做反链
  • 成都金牛网站建设公司高端网站配色
  • 做喜报的网站设计师的工作内容
  • 济南网站建设工作wordpress 资讯
  • 网站调用数据库平台公司名单
  • 移动网站怎么做成都设计公司名字
  • 杭州最好的网站设计公司服务器域名解析
  • 做试用网站的原理塘沽网吧开门了吗
  • 网站域名的作用古典网站源码
  • 做直播网站软件有哪些软件涿州网站建设有限公司
  • 易托管建站工具wordpress多个single
  • 建一个电影网站多大 数据库半厘米wordpress