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

科技资讯网站开发wordpress短链接

科技资讯网站开发,wordpress短链接,小说抄写员兼职,阿里云服务器win系统建站教程是什么#xff1f; 在我们的实际开发中尝尝会遇到这种问题#xff1a;在设计一个系统时知道了算法所需要的关键步骤#xff0c;而且确定了这些步骤的执行顺序#xff0c;但是某些步骤的具体实现还不知道#xff0c;或者说某些步骤的实现与具体的环境相关#xff0c;例如每…是什么 在我们的实际开发中尝尝会遇到这种问题在设计一个系统时知道了算法所需要的关键步骤而且确定了这些步骤的执行顺序但是某些步骤的具体实现还不知道或者说某些步骤的实现与具体的环境相关例如每个人订车最开始的流程都是相同的预约、到店、取号、排队、办理业务这些流程对于每个客户都是相同的但是办理业务这个流程对于每个客户都可能是不同的比如有的客户是来订车有的客户是来进行保养而有的客户是来更换配饰 因此模板方法模式是定义一个操作中的算法骨架而将算法的一些步骤延迟到子类中使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤 结构 抽象类负责给出一个算法的轮廓和骨架它由一个模板方法和若干个基本方法构成 模板方法定义了算法的骨架按某种顺序调用其包含的基本方法 基本方法是实现算法各个步骤的方法是模板方法的组成部分基本方法又可以分为以下三种 抽象方法一个抽象方法由抽象类声明、由其具体子类实现 具体方法一个具体方法由一个抽象类或具体类声明并实现其子类可以进行覆盖也可以直接继承 钩子方法在抽象类中已经实现包括用于判断的逻辑方法和需要子类重写的空方法两种一般钩子方法是用于判断的逻辑方法这类方法名一般为isXxx返回值为boolean类型 具体子类实现抽象类中所定义的抽象方法和钩子方法它们是一个顶级逻辑的组成步骤 实现 抽象类 public abstract class TemplateAbstractCar {/*** 模板方法模式中的抽象类* 已经实现的方法均为基本方法* *///预约服务public void book(){System.out.println(预约服务);};//到店服务public void arrival(){System.out.println(客户到店);};//取号public void takeNumber(){System.out.println(客户取号);};//排队服务public void line(){System.out.println(客户排队);}//客户具体操作protected abstract void buyCar();protected boolean isBuyCar(){return false;};protected abstract void maintain();protected boolean isMaintain(){return false;};//空方法public void hook(){}public final void run(){//启动四个基本方法book();arrival();takeNumber();line();//根据子类是否实现了具体方法和钩子方法来判断是否启动if (isBuyCar()){buyCar();}if (isMaintain()){maintain();}hook();} } 具体子类 public class Customer extends TemplateAbstractCar{Overrideprotected void buyCar() {System.out.println(客户1买车服务完毕);}Overrideprotected void maintain() {}Overrideprotected boolean isBuyCar() {return true;} }public class Customer2 extends TemplateAbstractCar{Overrideprotected void buyCar() {}Overrideprotected void maintain() {System.out.println(客户2保养服务完成);}Overrideprotected boolean isMaintain() {return true;}Overridepublic void hook() {System.out.println(客户二最后还回来买了一辆车);} } 优缺点 优点 1.提高代码的复用性将相同部分的代码放在抽象的父类中而将不同的代码放入不同的子类中 2.实现了反向控制通过一个父类调用其子类的操作通过对子类的具体实现扩展不同的行为实现了反向控制并符合“开闭原则” 缺点 1.对每个不同的实现都需要定义一个子类这会导致类的个数增加系统更加庞大设计也更加抽象 2.父类中的抽象方法由子类实现子类执行的结果会影响父类的结果这导致一种反向的控制结构它提高了代码阅读的难度 使用场景 因此在当算法的整体步骤很固定但其中个别部分容易变时可以使用模板方法模式将容易变的部分抽象出来供子类实现或者是需要通过子类来决定父类算法中的某个步骤是否执行以实现子类对父类的反向控制时也可以使用
http://www.w-s-a.com/news/357647/

相关文章:

  • 网站批量创建程序中国十大人力资源公司
  • 菏泽网站建设 梧桐树二次开发创造作用
  • 维护网站费用长沙广告设计公司排名
  • 模仿别人网站侵权wordpress 修改链接失效
  • wordpress文章设置受密码保护南宁网站优化公司哪家好
  • 网站开发工程师介绍设计类的网站
  • 嘉兴seo网站推广中山建网站多少钱
  • 高端汽车网站建设帮别人做网站自己为什么会被抓
  • 网站开发实验室建设方案wordpress 主题丢失
  • 珠宝网站建设平台分析报告郑州最新发布
  • 世界杯最新排名泉州seo网站关键词优
  • 广州公司网站提供如何推广新品
  • 网站建设如何描述沈阳网站建设推广平台
  • 用dw制作个介绍家乡网站学生个人简历
  • 建设银行企业网站访问不了wordpress搬到谷歌服务器
  • 网站建设与网站优化销售别墅庭院园林景观设计公司
  • 沈阳红方城网站建设专业的微网站哪家好
  • 医院网站asp东营信息发布平台
  • 网站全站建设开题报告范文南京本地网站
  • 网站漏洞扫描工具wampserver集成环境搭建了一个织梦cms网站
  • 如何在局域网上做网站宁波设计公司排行榜
  • 自己的电脑做网站服务器吗百度搜索风云榜总榜
  • 做化妆品的一些网站企业网站建设与营运计划书
  • 重庆速代网络科技seo整站优化服务教程
  • 成都比较好的装修设计公司seo3的空间构型
  • 开发商建设审批网站成都创意设计公司
  • 百度快照比网站上线时间早wordpress新建阅读量字段
  • 国家工程建设标准化协会网站网站开发工具有
  • 上海网站建设集中公关公司组织架构图
  • wordpress副标题的作用百度网站标题优化