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

免费建网站教程做设计有哪些免费网站

免费建网站教程,做设计有哪些免费网站,扬州 网站建设,做国外网站用国内服务器模板方法模式 模板方法模式是一种行为型设计模式#xff0c;它定义了一个算法的骨架#xff0c;将一些步骤延迟到子类中实现。这种模式允许子类在不改变算法结构的情况下重新定义算法的某些步骤。 结构 抽象类#xff08;Abstract Class#xff09;#xff1a;负责给出一…模板方法模式 模板方法模式是一种行为型设计模式它定义了一个算法的骨架将一些步骤延迟到子类中实现。这种模式允许子类在不改变算法结构的情况下重新定义算法的某些步骤。 结构 抽象类Abstract Class负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个基本方法构成。其中包含了一些基本操作的步骤有些步骤由具体子类实现。 模板方法定义了算法的骨架按某种顺序调用其包含的基本方法。 基本方法是实现算法各个步骤的方法是模板方法的组成部分。基本方法又可以分为三种 抽象方法(Abstract Method) 一个抽象方法由抽象类声明、由其具体子类实现。 具体方法(Concrete Method) 一个具体方法由一个抽象类或具体类声明并实现其子类可以进行覆盖也可以直接继承。 钩子方法(Hook Method) 在抽象类中已经实现包括用于判断的逻辑方法和需要子类重写的空方法两种。 一般钩子方法是用于判断的逻辑方法这类方法名一般为isXxx返回值类型为boolean类型。 具体子类Concrete Class实现抽象类中所定义的抽象方法和钩子方法它们是一个顶级逻辑的组成步骤。 案例 你制作一个饮料步骤是确定的像烧水 酿造倒入杯中添加调味品。烧水和倒杯是固定的基本操作酿造和添加调味料这个则是通过具体的情况来定的。 代码实现 // 抽象类 abstract class Beverage {// 模板方法定义了算法的骨架public final void prepareBeverage() {boilWater();brew();pourInCup();addCondiments();}// 抽象方法由子类实现abstract void brew();abstract void addCondiments();// 公共方法由父类实现void boilWater() {System.out.println(Boiling water);}void pourInCup() {System.out.println(Pouring into cup);} }// 具体类1 class Coffee extends Beverage {Overridevoid brew() {System.out.println(Dripping coffee through filter);}Overridevoid addCondiments() {System.out.println(Adding sugar and milk);} }// 具体类2 class Tea extends Beverage {Overridevoid brew() {System.out.println(Steeping the tea);}Overridevoid addCondiments() {System.out.println(Adding lemon);} }// 使用示例 public class Main {public static void main(String[] args) {Beverage coffee new Coffee();coffee.prepareBeverage();System.out.println();Beverage tea new Tea();tea.prepareBeverage();} } 注意为防止恶意操作一般模板方法都加上 final 关键词。 使用场景 当有一系列算法步骤其中有一部分是固定的但是另一部分需要在子类中具体实现时可以考虑使用模板方法模式。当需要在不同的子类中重用相同的算法框架时可以使用模板方法模式。 以下是模板方法模式在开发后台管理系统中的使用场景示例 权限管理 在后台管理系统中通常需要对不同用户或用户组的权限进行管理。模板方法模式可以定义一个权限管理的骨架包括权限验证、权限分配等操作而具体的权限验证和分配操作可以交由子类实现。数据的增删改查 后台管理系统通常需要对数据进行增加、删除、修改、查询等操作。可以使用模板方法模式定义一个数据操作的骨架包括数据的验证、数据的持久化等步骤而具体的数据操作可以由子类实现。数据的导入导出 后台管理系统可能需要支持数据的导入导出功能例如从 Excel 文件中导入数据到数据库或者将数据库中的数据导出为 Excel 文件。可以使用模板方法模式定义一个数据导入导出的骨架包括数据格式的验证、数据的转换等步骤而具体的导入导出操作可以由子类实现。日志记录 后台管理系统通常需要记录用户的操作日志例如登录日志、操作日志等。可以使用模板方法模式定义一个日志记录的骨架包括日志的格式化、日志的存储等步骤而具体的日志记录操作可以由子类实现。 优缺点 优点 提高代码复用性 将相同部分的代码放在抽象的父类中而将不同的代码放入不同的子类中。 实现了反向控制 通过一个父类调用其子类的操作通过对子类的具体实现扩展不同的行为实现了反向控制 并符合“开闭原则”。 缺点 对每个不同的实现都需要定义一个子类这会导致类的个数增加系统更加庞大设计也更加抽象。父类中的抽象方法由子类实现子类执行的结果会影响父类的结果这导致一种反向的控制结构它提高了代码阅读的难度。
http://www.dnsts.com.cn/news/7015.html

相关文章:

  • 网站建设教程(任务2签订网站建设合同)题库wordpress 轮播
  • 河南省建设教育协会网站首页如何选择合肥网络公司
  • 排名好的成都网站建设社交网站开发难度
  • 怎样进网站空间美食地图网站开发
  • 企业网站建设的步骤过程男女做某事网站
  • 网站空间制作响应式网站能用dw做吗
  • 企业建设网站有用么提供温州手机网站制作多少钱
  • 仙霞新村街道网站建设微信开发者工具代码怎么写
  • 网页设计与网站开发超链接网络开发部是做什么的
  • 广州电力建设有限公司网站wordpress主题设置
  • 个人做房产网站有哪些海南做网站的公司哪家好
  • 开发商城网站建设wordpress下载主题错误
  • 北京网站建设 公司计算机编程与网站建设
  • 海拉尔网站建设+网站设计微信小程序开发需要学什么
  • 做网站设计需要哪些软件网页浏览器的英文缩写
  • 福州百度企业网站seo后台控制网站关键词设置的详细代码
  • 哈尔滨自助建站软件常宁城乡建设局网站查询
  • 网站飘窗怎么做晋中网站建设哪家强
  • 惠民建设局网站是哪个新蒲建设集团网站
  • 网站被黑客攻击怎么办太原网站制作哪家好
  • 企业网站的建立联系方式有什么外贸平台可以个人进入
  • 绍兴网站制作价格做视频解析网站犯法
  • 怎么做网站注册登入页面网站建设可以帮助花店怎么样
  • 西安公司的网站建设社交信息共享网站开发外包
  • 建立一个网站需要多少钱做婚礼logo免费的网站
  • php网站开发周期多长网站的登录弹窗怎么做
  • 快速做网站的方法厦门建设局
  • 内购券网站开发对网站设计的摘要
  • 高中做信息技术题网站泰安做网站公司哪家好
  • 自己建设网站需要审核吗北京正邦设计