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

成都网站软件定制开发应该怎样做网站地图

成都网站软件定制开发,应该怎样做网站地图,网站栏目收录,树在线网页制作网站本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中#xff0c;您将深入研究大量的设计模式#xff0c;并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因#xff0c;并了解何时以及如何应用模式中的每一个。 在这里查看 #xff01; 目录 … 本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中您将深入研究大量的设计模式并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因并了解何时以及如何应用模式中的每一个。 在这里查看 目录 1.简介 2.什么是策略模式 3.实施策略设计模式 4.何时使用策略设计模式 5. JDK中的策略模式 6.下载源代码 1.简介 策略设计模式似乎是所有设计模式中最简单的但它为代码提供了极大的灵活性。 即使与其他设计模式结合使用该模式也几乎用于所有地方。 到目前为止我们讨论的模式都与该模式直接或间接相关。 学完本课后您将了解这种模式的重要性。 为了理解策略设计模式让我们为文本编辑器创建文本格式化程序。 每个人都应该知道一个文本编辑器。 文本编辑器可以具有不同的文本格式化程序来格式化文本。 我们可以创建不同的文本格式设置器然后将所需的格式设置器传递给文本编辑器以便编辑器可以根据需要设置文本格式。 文本编辑器将保存对文本格式化程序通用接口的引用编辑器的工作是将文本传递给格式化程序以格式化文本。 让我们使用“策略设计模式”来实现这一点这将使代码非常灵活且可维护。 但是在此之前让我们更多地了解战略设计模式。 2.什么是策略模式 策略设计模式定义了一系列算法将每个算法封装在一起并使它们可互换。 策略使算法独立于使用该算法的客户端而变化。 当存在一组相关算法并且客户端对象需要能够从该组动态地选择适合其当前需求的算法时策略模式很有用。 策略模式建议将每种算法的实现都放在单独的类中。 封装在单独类中的每个此类算法都称为strategy 。 使用Strategy对象的对象通常称为context对象。 有了不同的Strategy对象更改Context对象的行为仅是将其Strategy对象更改为实现所需算法的对象。 为了使Context对象能够无缝地访问不同的Strategy对象必须将所有Strategy对象设计为提供相同的接口。 在Java编程语言中这可以通过将每个Strategy对象设计为公共接口的实现者或声明所需公共接口的公共抽象类的子类来实现。 一旦将相关算法组封装在类层次结构中的一组Strategy类中客户就可以通过选择并实例化适当的Strategy类从这些算法中进行选择。 要更改context的行为客户端对象需要使用选定的strategy实例配置context 。 这种安排将算法的实现与使用它的context完全分开。 结果当更改现有算法实现或将新算法添加到组时 context和使用该context的客户端对象都不会受到影响。 图1 –策略类图 战略 声明所有支持的算法通用的接口。 Context使用此接口来调用由ConcreteStrategy定义的算法。 具体策略 使用Strategy接口实现算法。 语境 配置有ConcreteStrategy对象。 维护对Strategy对象的引用。 可以定义一个接口使Strategy可以访问其数据。 3.实施策略设计模式 下面是所有具体格式化程序的TextFormatter接口工具。 package com.javacodegeeks.patterns.strategypattern;public interface TextFormatter {public void format(String text);} 上面的接口仅包含一种用于格式化文本的方法format 。 package com.javacodegeeks.patterns.strategypattern;public class CapTextFormatter implements TextFormatter{Overridepublic void format(String text) {System.out.println([CapTextFormatter]: text.toUpperCase());}} 上面的类CapTextFormatter是实现TextFormatter接口的具体文本格式化程序该类用于将文本更改为大写字母。 package com.javacodegeeks.patterns.strategypattern;public class LowerTextFormatter implements TextFormatter{Overridepublic void format(String text) {System.out.println([LowerTextFormatter]: text.toLowerCase());}} LowerTextFormatter是一个具体的文本格式化程序可实现TextFormatter接口该类用于将文本更改为小写形式。 package com.javacodegeeks.patterns.strategypattern;public class TextEditor {private final TextFormatter textFormatter;public TextEditor(TextFormatter textFormatter){this.textFormatter textFormatter;}public void publishText(String text){textFormatter.format(text);}} 上面的类是TextEditor类其中包含对TextFormatter接口的引用。 该类包含publishText方法该方法将文本转发给格式化程序以便以所需格式发布文本。 现在让我们测试上面的代码。 package com.javacodegeeks.patterns.strategypattern;public class TestStrategyPattern {public static void main(String[] args) {TextFormatter formatter new CapTextFormatter();TextEditor editor new TextEditor(formatter);editor.publishText(Testing text in caps formatter);formatter new LowerTextFormatter();editor new TextEditor(formatter);editor.publishText(Testing text in lower formatter);}} 上面的代码将导致以下输出 [CapTextFormatter]: TESTING TEXT IN CAPS FORMATTER [LowerTextFormatter]: testing text in lower formatter 在上面的类中我们首先创建了一个CapTextFormatter并将其分配给TextEditor实例。 然后我们调用publishText方法并将一些输入文本传递给它。 同样我们做了同样的事情但是这次 LowerTextFormatter被传递给TextEditor 。 由于输出所使用的文本格式化程序不同因此输出清楚地显示了不同文本编辑器产生的不同文本格式。 策略设计模式的主要优点是我们可以轻松地增强代码。 我们可以添加新的文本格式化程序而不会影响当前代码。 这将使我们的代码可维护且灵活。 这种设计模式还促进了“代码到接口”的设计原则。 4.何时使用策略设计模式 在以下情况下使用策略模式 许多相关的类仅在行为上有所不同。 策略提供了一种使用多种行为之一配置类的方法。 您需要算法的不同变体。 例如您可以定义反映不同时空权衡的算法。 将这些变体实现为算法的类层次结构时可以使用策略。 一种算法使用客户端不应该知道的数据。 使用策略模式可避免暴露复杂的特定于算法的数据结构。 一个类定义了许多行为这些行为在其操作中显示为多个条件语句。 代替许多条件将相关的条件分支移到他们自己的Strategy类中。 5. JDK中的策略模式 java.util.Comparator#compare() javax.servlet.http.HttpServlet javax.servlet.Filter#doFilter() 6.下载源代码 这是关于策略设计模式的课程。 您可以在此处下载源代码 StrategyPattern-Project 翻译自: https://www.javacodegeeks.com/2015/09/strategy-design-pattern.html
http://www.zqtcl.cn/news/32562/

相关文章:

  • 网站平台建设十大公司网站空间模板
  • 做网站公司工资用angular做的网站
  • 海口高端网站建设网站建设外包网
  • 河南网站建设推广公司wordpress优惠劵
  • 个人网站建设论文绪论凡科网建站模板
  • 电商网站建设策划网络营销赚钱
  • 天津品牌网站设计wordpress验证google站长
  • 公司企业网站建设方案书wordpress种子站
  • 怎么给网站添加统计代码网站 制作价格表
  • 合川网站制作网站制作排名优化
  • 文具电子商务网站开发内容北京做网站设计招聘
  • 邮件网站怎么做的网站前台数据库
  • 营销型企业网站建设规划探讨向百度提交网站
  • 谈谈网站建设创新问题做网站基本要求
  • 软件工程在网站建设公司网站数据库
  • 西安做网站微信公司哪家好哪里网页建设便宜
  • 欧美风的网站设计珠海医疗网站建设公司
  • 织梦医疗网站品牌建设网站公司排名
  • 北京附近做网站的公司wordpress插件 二次开放
  • 比较好的网页模板网站赤壁市药监局网站建设方案
  • 如何选择网站托管公司北京价格网站建设
  • 网站建设分几类市环保局网站建设方案
  • 网站建设准备工作关键词检测
  • 微信导航网站模板手机购物网站模板
  • 知名网站建设公司安徽论坛网站建设
  • seo关键词优化提高网站排名wordpress just
  • 长治网站制作公司建设阅读网站的意义
  • 师德师风建设网站网站制作 连云港
  • 定制网站建设电话WordPress开发微信支付
  • 众筹网站建设在线高清观看免费ppt