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

网站前期策划中企动力app

网站前期策划,中企动力app,做外文翻译的网站,wordpress用户注册地址概述 模板方法模式 :Template Method Pattern : 是一种行为型设计模式. 它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中实现。 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 符合 开闭原则。 可以在算法的流程中&…

概述

模板方法模式 :Template Method Pattern : 是一种行为型设计模式.

它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中实现。

模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

符合 开闭原则。

可以在算法的流程中,添加一些钩子方法,供子类使用,方便对原算法进行扩展

角色

抽象类(Abstract Class)定义了算法的框架,即一系列步骤组成的操作,并且可以提供默认实现或者要求子类实现。
具体类(Concrete Class):实现了抽象类中定义的一些或所有步骤,但不改变算法的结构。

使用场景

当你需要提供一个算法的不变部分,同时允许客户通过其子类来定制该算法的部分步骤时,可以使用模板方法模式。
例如,在开发框架中,模板方法可用于强制执行固定流程,同时让开发者自定义特定行为。

使用案例

情景介绍

软件开发中,有 CS 架构的开发、有BS 架构的开发。
开发流程都是一样的,对接需求、功能设计、编码开发、测试 等。
但是,具体的编码开发的过程是有区别的 :
1)例如 CS架构的开发可能主要以 C# 语言为主进行编码;
2)BS架构的开发可能主要以Java和HTML相关的前端框架为主进行编码。
以上述情景为背景,写一下案例。

类图

抽象类 SoftwareDev 中的 dev() 方法,就是一个模板方法,方法中定义好了整体的开发流程;
coding() 方法,是一个抽象方法,各个子类根据实际情况使用不同的开发语言实现编码。

在这里插入图片描述

案例代码

抽象类

public abstract class SoftwareDev {/*** 模板方法,固定了代码的流程*/public void dev(){requirementAnalysise();functioinDesign();coding();test();}public void requirementAnalysise(){System.out.println("需求分析");}public void functioinDesign(){System.out.println("功能设计");}/*** 抽象方法,子类必须实现*/public abstract void coding();public void test(){System.out.println("测试");}
}

CS实现子类

public class SoftwareDevCS extends SoftwareDev{@Overridepublic void coding() {System.out.println("CS 架构的软件编码。。。");}
}

BS实现子类

public class SoftwareDevBS extends SoftwareDev{@Overridepublic void coding() {System.out.println("BS 架构的软件编码。。。");}
}

使用测试

public class TemplatePatternTest {public static void main(String[] args) {//  测试CS开发SoftwareDev csdev = new SoftwareDevCS();csdev.dev();System.out.println("========");//  测试BS开发SoftwareDev bsdev = new SoftwareDevBS();bsdev.dev();}
}
运行结果: 功能的执行流程一致,但是 核心的 coding 方法由子类确定。需求分析
功能设计
CS 架构的软件编码。。。
测试
========
需求分析
功能设计
BS 架构的软件编码。。。
测试
http://www.dtcms.com/wzjs/798544.html

相关文章:

  • 官网网站建设平台wordpress另一更新正在运行
  • 免费自创网站二合一子母被的好处
  • 小程序可做网站吗百度首页网址是多少
  • 保洁公司 网站模板北京快三彩票app平台官网下载
  • 合肥网站设计公简述网站开发具体流程
  • 分类信息网站如何建设升级wordpress 错误:连接服务器时出错_请检查设置.
  • 电子商务网站建设期末网站(网店)建设方案范文
  • 南宁自助建站模板工业园区门户网站建设方案
  • 北京建立公司网站wordpress去掉自豪
  • 重庆万州网站建设哪家好上海 互联网公司
  • 做网站用什么开发语言机械加工网站哪里找
  • 做网站是三网合一有什么优势导出wordpress文章
  • 绍兴做网站多少钱大公司的网站是怎么建的
  • 加强理想信念教育主题网站建设软件网站排行榜
  • 永久免费无代码开发平台网站冠辰网站建设
  • 营销型网站的建设要求都有什么作用杭州哪家网站建设好
  • 17一起做网店网站潮汕奥一农场的网站开发
  • wordpress全站迁移班级网站建设开题报告
  • 建一个网站需要购买域名 虚拟主机东海建设局网站
  • 网站开发 竞拍网站玻璃行业做的非常有设计感的网站
  • 网站建立的公司没有网站可以做京东联盟吗
  • 怎么让网站页面自适应asp网站背景
  • html5建站系统wordpress 打不开主题
  • 四川做网站的公司哪家好游戏网站建设系统介绍
  • 网站 子域名wordpress登入可见插件
  • 成都j网站制作电子商务网站建设与运营
  • 网页设计教学网站北滘做网站
  • 怎么学做电子商务网站网站空间购买费用
  • 广州电商网站开发公司网站设计内容包括
  • 网站建设仿站企业公司关键词优化搜索引擎