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

免费建网站教程郑州网站运营

免费建网站教程,郑州网站运营,成品短视频app的推荐功能,网站举报平台模板方法模式 模板方法模式是一种行为型设计模式#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.hkea.cn/news/14292341/

相关文章:

  • 上海网站seo策划滨州内做网站系统的公司
  • 中跃建设集团网站类似wordpress
  • 爱站长尾关键词挖掘工具深圳500强企业名单
  • 成华区网站建设室内设计应该学什么专业
  • 有什么做视频的素材网站制作手机网页软件
  • 中国可信网站认证微山县建设局官方网站
  • 网站定制北京开发大型网站的流程
  • 东莞市企业信息公示网东莞网站优化科技有限公司
  • 网站建设倒计时模板工作室 网站 备案
  • 简洁大方的电商网站模板长沙网站制作建设
  • 土地流转网站开发wordpress自建站
  • 江苏专业做网站的公司有哪些wordpress防盗链
  • 网站域名是什么东西企业网站托管的方案
  • 建设网站的公司有哪些上饶哪里做网站
  • 网站 备案 中国 名字吗怎么建设幸运28网站
  • 免费自建 响应式 网站备案网站名怎么填写
  • 福鼎市建设局网站好看的网站源码
  • 现在建设一个网站多少钱网站建设自学
  • ai素材免费下载网站手机网站怎么改成电脑版
  • 设计素材网站哪个最好用seo公司排名榜
  • 网站死链接检查推广公司品牌
  • 专门做特卖的网站怎么制作网站程序
  • 东莞网站建设怎么做制作公司网页的步骤
  • 龙岗永湖网站建设许昌建设局网站
  • 网站前端模板网站建设分解结构
  • 申请网站步骤深圳宝安网站建设500元起价
  • 博物馆网站微信公众号建设群晖wordpress修改端口
  • 如何与老板谈网站建设百度下载免费安装到桌面
  • 全国建筑工人招工网单页面网站怎么做优化排名
  • 企业微信手机片网站制作四川网站建设费用