58网站怎么样做效果会更好有哪些做海岛的网站

diannao/2025/10/15 1:01:51/文章来源:
58网站怎么样做效果会更好,有哪些做海岛的网站,北京和君网站建设,长沙建站网模板方法模式 1 模板方法模式介绍 模板方法模式(template method pattern)原始定义是#xff1a;在操作中定义算法的框架#xff0c;将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法中的算法可以理解为广义上的业务逻辑…模板方法模式 1 模板方法模式介绍 模板方法模式(template method pattern)原始定义是在操作中定义算法的框架将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法中的算法可以理解为广义上的业务逻辑,并不是特指某一个实际的算法.定义中所说的算法的框架就是模板, 包含算法框架的方法就是模板方法. 例如: 我们去医院看病一般要经过以下4个流程挂号、取号、排队、医生问诊等其中挂号、 取号 、排队对每个病人是一样的可以在父类中实现但是具体医生如何根据病情开药每个人都是不一样的所以开药这个操作可以延迟到子类中实现。 模板方法模式是一种基于继承的代码复用技术,它是一种类行为模式. 模板方法模式其结构中只存在父类与子类之间的继承关系. 模板方法的作用主要是提高程序的复用性和扩展性: 复用指的是,所有的子类可以复用父类中提供的模板方法代码扩展指的是,框架通过模板模式提供功能扩展点,让框架用户可以在不修改框架源码的情况下,基于扩展点定制化框架的功能. 2 模板方法模式原理 模板方法模式的定位很清楚就是为了解决算法框架这类特定的问题同时明确表示需要使用继承的结构。 模板方法Template Method模式包含以下主要角色 抽象父类定义一个算法所包含的所有步骤并提供一些通用的方法逻辑。具体子类继承自抽象父类根据需要重写父类提供的算法步骤中的某些步骤。 抽象类Abstract Class负责给出一个算法的轮廓和骨架。它由一个模板方法和若干个基本方法构成。 模板方法定义了算法的骨架按某种顺序调用其包含的基本方法。 基本方法是实现算法各个步骤的方法是模板方法的组成部分。基本方法又可以分为三种 抽象方法(Abstract Method) 一个抽象方法由抽象类声明、由其具体子类实现。 具体方法(Concrete Method) 一个具体方法由一个抽象类或具体类声明并实现其子类可以进行覆盖也可以直接继承。 钩子方法(Hook Method) 在抽象类中已经实现包括用于判断的逻辑方法和需要子类重写的空方法两种。 一般钩子方法是用于判断的逻辑方法这类方法名一般为isXxx返回值类型为boolean类型。 3 模板方法模式实现 UML类图对应的代码实现 /*** 抽象父类**/ public abstract class AbstractClassTemplate {void step1(String key){System.out.println(在模板类中 - 执行步骤1);if(step2(key)){step3();}else{step4();}step5();}boolean step2(String key){System.out.println(在模板类中 - 执行步骤2);if(x.equals(key)){return true;}return false;}abstract void step3();abstract void step4();void step5(){System.out.println(在模板类中 - 执行步骤5);}void run(String key){step1(key);}}public class ConcreteClassA extends AbstractClassTemplate{Overridevoid step3() {System.out.println(在子类A中 - 执行步骤 3);}Overridevoid step4() {System.out.println(在子类A中 - 执行步骤 4);} }public class ConcreteClassB extends AbstractClassTemplate {Overridevoid step3() {System.out.println(在子类B中 - 执行步骤 3);}Overridevoid step4() {System.out.println(在子类B中 - 执行步骤 4);} }public class Test01 {public static void main(String[] args) {AbstractClassTemplate concreteClassA new ConcreteClassA();concreteClassA.run();System.out.println();AbstractClassTemplate concreteClassB new ConcreteClassB();concreteClassB.run(x);} }// 输出结果 在模板类中 - 执行步骤1 在模板类中 - 执行步骤2 在子类A中 - 执行步骤 4 在模板类中 - 执行步骤5在模板类中 - 执行步骤1 在模板类中 - 执行步骤2 在子类B中 - 执行步骤 3 在模板类中 - 执行步骤54 模板方法模式应用实例 P2P公司的借款系统中有一个利息计算模块,利息的计算流程是这样的: 用户登录系统,登录时需要输入账号密码,如果登录失败(比如用户密码错误),系统需要给出提示如果用户登录成功,则根据用户的借款的类型不同,使用不同的利息计算方式进行计算系统需要显示利息. /*** 账户抽象类**/ public abstract class Account {//step1 具体方法-验证用户信息是否正确public boolean validate(String account,String password){System.out.println(账号: account ,密码: password);if(account.equalsIgnoreCase(tom) password.equalsIgnoreCase(123456)){return true;}else{return false;}}//step2 抽象方法-计算利息public abstract void calculate();//step3 具体方法-显示利息public void display(){System.out.println(显示利息!);}//模板方法public void handle(String account,String password){if(!validate(account,password)){System.out.println(账户或密码错误!!);return;}calculate();display();} }/*** 借款一个月**/ public class LoanOneMonth extends Account{Overridepublic void calculate() {System.out.println(借款周期30天,利率为10%!);} }/*** 借款七天**/ public class LoanSevenDays extends Account{Overridepublic void calculate() {System.out.println(借款周期7天,无利息!仅收取贷款金额1%的服务费!);}Overridepublic void display() {System.out.println(七日内借款无利息!);}}public class Client {public static void main(String[] args) {Account a1 new LoanSevenDays();a1.handle(tom,12345);System.out.println();Account a2 new LoanOneMonth();a2.handle(tom,123456);} }5 模板方法模式总结 优点 在父类中形式化的定义一个算法,而由它的子类来实现细节处理,在子类实现详细的处理代码时,并不会改变父类算法中步骤的执行顺序. 模板方法可以实现一种反向的控制结构,通过子类覆盖父类的钩子方法,来决定某一个特定步骤是否需要执行 在模板方法模式中可以通过子类来覆盖父类的基本方法,不同的子类可以提供基本方法的不同实现,更换和增加新的子类很方便,符合单一职责原则和开闭原则. 缺点 对每个不同的实现都需要定义一个子类这会导致类的个数增加系统更加庞大设计也更加抽象。父类中的抽象方法由子类实现子类执行的结果会影响父类的结果这导致一种反向的控制结构它提高了代码阅读的难度。 模板方法模式的使用场景一般有 多个类有相同的方法并且逻辑可以共用时将通用的算法或固定流程设计为模板在每一个具体的子类中再继续优化算法步骤或流程步骤时重构超长代码时发现某一个经常使用的公有方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站开发工具推荐创新的网站建设公司排名

原作者: Ziyahan Albeniz在2019年3月13日,专注于静态代码分析软件的RIPS科技公司发布了他们在所有版本的WordPress 5.1.1中发现的跨站点脚本(XSS)漏洞的详细信息。该漏洞已在不同类别的各种网站上公布。有些人将其归类为跨站点请求伪造(CSRF)漏洞&#x…

在省建设厅网站怎样报建体外产品的研发网站如何建设

扩展功能实现 加速减速计分链表实现彩色界面暂停 开源代码 贪吃蛇 动图展示,(加载比较慢)

怎样搭建一个网站自建冷库费用

很多人总是这样认为:好好读书,考上好学校,将来可以找到一份不错的工作,这样的思想观念,可能会导致你一辈子都无法实现财富自由。 财富的多少,和你的努力程度没有直接关系。我们可以清楚看到那些每天辛苦劳动…

课程建设网站推广普通话写好规范字手抄报

9. 哨兵模式 9.1 简介 当主库宕机,在从库中选择一个,切换为主库。 问题: 主库是否真正宕机?哪一个从库可以作为主库使用?如何实现将新的主库的信息通过给从库和客户端? 9.2 基本流程 哨兵主要任务: 监控选择主库通知 会有…

毕业设计代做淘宝好还是网站好网站备案公告

本文实例讲述了Python实现统计python文件中代码,注释及空白对应的行数。分享给大家供大家参考,具体如下:其实代码和空白行很好统计,难点是注释行python中的注释分为以#开头的单行注释或者以开头以结尾 或以"""开头以"&qu…

凤翔网站开发怎么帮客户做网站建站

简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家。希望帮助大家在数据仓库项目建设中总结出一套能够合乎目前业界规范的,满足大部分行业数据仓库…

网站建设的公司实习做什么外协机械加工网

在与数据库进行连接的时候,会牵扯到数据库连接池的配置,本文将详细介绍mysql数据库连接池配置,需要了解跟多的朋友可以参考下第一步:写javabeanpackage withouttears.jdbc.db;import java.util.HashMap;import java.sql.*;//JNDI有两个核心接口Context和…

专业建网站设计公司网页毕业设计作品

一个轻量级的仿微信未读消息提示大家好,我是接触安卓不久的小菜鸟,今天花了一晚上封装了一个类似微信未读消息提示的安卓控件。由于技术问题,所以功能不是很强大,没有动画,但是满足基本需求还是可以的。下面是示例图&a…

网站建设 6万元怎样查找企业联系方式

MaxCompute介绍 MaxCompute是适用于数据分析场景的企业级SaaS(Software as a Service)模式云数据仓库,以Serverless架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用…

阿里云服务器的网站备案流程图h5动画网站

类型检查与命令多态 概述 redis中用于操作键的命令基本上可以分为两种类型。其中一种命令可以对任何类型的键执行,比如说DEL命令、EXPIRE命令、RENAME命令、TYPE命令、OBJECT命令等. 而另一种命令只能对特定类型的键执行,比如说 1.SET、GET、APPEND、…

自己如何搭建网站cms 网站群

学习计时:共14小时 读书:2小时 代码:7小时 作业:2小时 博客:3小时 一、学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用Linux中用户管理命令/系统相关命令/文件目录相关命…

滕州建网站哪家好龙岗网站建设过程

前言 ✨✨欢迎👍👍点赞☕️☕️收藏✍✍评论 个人主页:秋邱’博客 所属栏目:人工智能 (感谢您的光临,您的光临蓬荜生辉) 引言: 前面我们已经讲了结构体的声明,自引用,内存…

网站做代理还可以刷水吗app网站开发河 又

计算机语言运用--数值计算8-函数的计算机处理8(1)_1MATLAB计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。计算机语言有低级语言-机器语言、汇编、高级语言-C/C/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千种之多。 作…

做雇主品牌的网站食品网站建设网站定制开发

dockerk8s k8s详细介绍docker的工作原理docker的组成docker与传统虚拟机的区别docker技术的三大核心概念centos镜像几个G,但是docker centos镜像才几百兆镜像的分层结构以及为什么要使用镜像的分层结构容器的copy-on-write特性,修改容器里面的内容会修改…

网站信息如何修改wordpress站

本文属于图神经网络的系列文章,文章目录如下: 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (二)从图(Graph)到图卷积(Graph Convolution)&#x…

深圳工程造价建设信息网站美容评测网站建设分析报告

简单工厂模式 适用场景: 1.工厂类负责创建的对象比较少,由于创建的对象较少,不会造成工厂方法中的业务逻辑太过复杂。 2.客户端只知道传入工厂类的参数,对于如何创建对象并不关心。 工厂方法模式 适用场景: 1.客户端不知道它所需要的对象…

深圳网站做的好的公司wordpress 如何更改主页

一、简介 彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是1…

高端网站推广哪里有网站培训的

android渠道包自动化验证 酷传应用统计 友盟统计分析平台 机锋统计 怎样监控移动互联网广告的效果 talkingdata AD tracking转载于:https://www.cnblogs.com/terrylin/p/4865462.html

国内建网站软件个人网页制作价格

在源码编译PHP-redis扩展时,遇到缺少头文件问题【问题描述】error: ext/standard/php_smart_str.h: No such file or directory 【问题原因】PHP安装好的头文件目录:/php/include/php/ext/standard/,这些头文件,在php7之前的版本&…

discuz 手机网站模板做微商去哪个网站推广

来源:AI数据派前言:目前,“联邦学习”这个术语在市场上存在很多认识上的误解和混淆,主要原因是其既在广义上表达了保护数据前提下联合多方数据训练模型的需求,又在狭义上表示了一类通过暴露部分数据信息来提升训练性能…