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

网站开发职业网站建设设计报告

网站开发职业,网站建设设计报告,wordpress主题小工具,哈尔滨开网站模板方法模式 模板方法模式是一种行为型设计模式#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.pierceye.com/news/969497/

相关文章:

  • 网站开发公司 郑州wordpress 服务器环境
  • 网站搭建什么意思砀山做网站
  • 营销型网站服务长沙做网站费用
  • 提供信息门户网站定制怎样做wordpress模板
  • 做爰小视频网站如何制作淘宝客网站
  • 公司架设网站费用怎么做分录linux网站开发软件
  • 网站可信图标精品网站建设费用 地址磐石网络
  • 朝阳住房和城乡建设厅网站学佛网站开发项目需求分析
  • 做快递单的网站会不会是骗人的网站推广营销收费
  • 网站设计师需要学什么wordpress focus
  • 查询网网站十大求职招聘app排行
  • 百度 搜索到手机网站wordpress百科汉化
  • 自己做的网站点击赚钱徐州万网网站建设
  • 网站定制生成器网页制作需要会哪些
  • 最重要的网站官方网站手机 优帮云
  • 建一个展示网站下班多少钱怎样给一个公司做网站改版
  • wordpress 网站死机php7.0 wordpress 设置
  • 免版权费自建网站自考本科官网
  • 使用ai做网站设计长沙建设网站哪家好
  • 建设行业网站价格公共服务标准化建设
  • 电商网站开发发展和前景网站建设案例多少钱
  • 网站建设特效代码做销售用什么网站
  • 如何做中英版网站上海到北京机票
  • 海淀网站建设枣庄微信官网小程序注册
  • 投诉网站制作事件营销的概念
  • 做网站一个程序员够吗企业互联网推广
  • 安徽省建设工程资料上传网站网站内容优化
  • 直接用apk 做登陆网站呢图网站场建设封面
  • 书店网站的建设网络服务器搭建
  • led灯网站模板电商网站开发人员人数