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

对重庆电子政务网站建设评价什么是可信网站认证

对重庆电子政务网站建设评价,什么是可信网站认证,网站建设的原则有哪些内容,廊坊网站设计公司文章目录 引言策略模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用计算示例代码地址 引言 设想你正在玩一个策略游戏#xff0c;每一个决策都会导致不同的游戏结局。同样地#xff0c;在软件开发中#xff0c;我们常常需要根据不同的场景或条件选择不同… 文章目录 引言策略模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用计算示例代码地址 引言 设想你正在玩一个策略游戏每一个决策都会导致不同的游戏结局。同样地在软件开发中我们常常需要根据不同的场景或条件选择不同的算法或业务逻辑。硬编码所有可能的选项不仅会导致代码冗长还会使得未来的改动变得异常困难。策略模式提供了一种方法使得算法可以在运行时被动态选择这样一来我们就可以根据当前的需求灵活地替换算法提高了代码的可维护性和扩展性。 策略模式简介 定义与用途 策略模式Strategy Pattern是一种行为型设计模式它定义了算法族分别封装起来让它们之间可以互相替换此模式让算法的变化独立于使用算法的客户。 实现方式 实现策略模式通常涉及定义策略接口编写一系列实现此接口的具体策略类并通过一个上下文类来使用这些策略。 这种模式涉及到三个角色 上下文Context持有一个策略类的引用用来动态设置具体策略类。策略接口Strategy定义所有支持的算法的公共接口。具体策略Concrete Strategy实现策略接口的类提供具体的算法实现。 使用场景 策略模式适用于以下场景 当你有许多类似的类但它们的行为有所不同时。当你想让客户端知晓算法或对象的使用细节时。当一个类定义了多种行为而且这些行为在这个类的操作中以多个条件语句的形式出现时。 例如 支付方式选择在线购物平台支持多种支付方式如信用卡、PayPal或比特币。策略模式允许用户选择最适合的支付策略。数据压缩工具一款软件可能支持不同的数据压缩算法如ZIP、RAR或7z。用户可以根据需要选择最合适的压缩策略。路由算法导航软件中根据当前交通状况选择最快、最短或避开拥堵的路线。 优势与劣势 优势 策略模式提供了管理相关的算法族的办法。策略模式提供了替换继承的方法来实现多种算法或行为的变化。策略模式可以提供相同行为的不同实现。 劣势 客户端必须了解不同的策略。策略模式和工厂模式结合时代码可能变得更复杂。 在Spring框架中的应用 在Spring框架中策略模式被广泛应用于各种场景利用其灵活性和扩展性来处理不同的业务逻辑和算法选择。以下是Spring框架中体现策略模式概念的一些方面 1. Spring Security的认证策略 在Spring Security中策略模式被用来管理不同的认证机制。例如开发者可以选择或自定义不同的认证策略如HTTP基本认证、表单认证、LDAP认证等。每种认证方式都是一个策略而Spring Security提供了一个统一的上下文来管理这些策略使得可以轻松切换或扩展新的认证方式。2. Spring MVC中的视图解析策略 Spring MVC框架支持多种视图解析策略以适应不同的视图技术包括JSP、Thymeleaf和FreeMarker等。通过配置不同的视图解析器开发者可以根据特定需求选择不同的渲染技术。每个视图解析器都遵循策略接口Spring MVC通过统一的方式处理视图解析无需关心具体的解析细节。3. 事务管理策略 Spring提供了灵活的事务管理策略允许开发者根据需要选择不同的事务管理器。例如可以根据具体的数据库或JPA提供者选择合适的事务管理器。每种事务管理器都实现了Spring的事务管理接口为不同的存储选项提供了统一的事务操作方法。4. Spring Core的资源访问策略 Spring框架支持多种方式来访问资源如通过文件系统、类路径和URL等。Spring提供了一个统一的资源接口而具体的资源访问方式则通过不同的实现来完成。这允许开发者在不同的环境和需求下灵活选择最适合的资源访问策略。计算示例 这个示例演示了策略模式在Java中的实现。策略模式是一种行为设计模式允许在运行时选择最适合的算法或行为。 步骤 1创建接口 public interface Strategy {public int doOperation(int num1, int num2); } Strategy 接口定义了一个 doOperation 方法所有具体策略类将实现这个接口以提供具体的操作。 步骤 2创建实现相同接口的具体类 public class OperationAdd implements Strategy{Overridepublic int doOperation(int num1, int num2) {return num1 num2;} }OperationAdd 是一个具体的策略类实现了加法操作。 public class OperationSubstract implements Strategy{Overridepublic int doOperation(int num1, int num2) {return num1 - num2;} }OperationSubtract 是另一个具体的策略类实现了减法操作。 public class OperationMultiply implements Strategy{Overridepublic int doOperation(int num1, int num2) {return num1 * num2;} }OperationMultiply 是第三个具体的策略类实现了乘法操作。 步骤 3创建上下文类 public class Context {private Strategy strategy;public Context(Strategy strategy){this.strategy strategy;}public int executeStrategy(int num1, int num2){return strategy.doOperation(num1, num2);} }Context 类持有一个策略对象的引用并允许客户端通过构造器设置其策略。它提供了一个 executeStrategy 方法用于执行策略并返回结果。 步骤 4使用上下文来看到策略改变时的行为变化 public class StrategyPatternDemo {public static void main(String[] args) {Context context new Context(new OperationAdd()); System.out.println(10 5 context.executeStrategy(10, 5));context new Context(new OperationSubstract()); System.out.println(10 - 5 context.executeStrategy(10, 5));context new Context(new OperationMultiply()); System.out.println(10 * 5 context.executeStrategy(10, 5));} }这个示例演示了策略模式如何使对象的行为可以根据所使用的策略动态改变。通过将每个算法封装在单独的类中我们可以很容易地增加新的策略或改变现有策略同时保持算法的独立性和上下文类的一致性。 代码地址 23种设计模式相关代码后续会逐步提交到github上方便学习欢迎指点 代码地址 https://github.com/RuofeiSun/lf-23Pattern
http://www.hkea.cn/news/14465219/

相关文章:

  • 网站开发项目名长沙有实力seo优化公司
  • 网站添加锚点店面设计费
  • 网站推广的技巧live writer wordpress
  • 长沙市做网站公司排名内衣网站建设推广
  • 网站怎么做页面解析跳转企业管理咨询服务合同范本
  • 如何做百度推广网站广州哪里有做公司网站 什么价
  • 杭州网站建设公司官网云服务器和云虚拟主机
  • 大连网站建设微信群html制作旅游景点网页
  • 设计的网站有哪些个人相册网站模板
  • 企业在阿里云做网站wordpress 批量审核
  • 用php做的博客网站家教网站建设的推广
  • 济南哪有做网站的上海高档网站建设
  • 个人网站如何提高访问量linux怎么下载wordpress
  • 企业官网响应式网站网站发布工具
  • 提供网站建设电话物流公司在哪里找
  • 廊坊网站制作官网宁波网络推广
  • 龙海市住房和城乡建设局网站创建网站需要哪些工作
  • 免费建造公司网站网页设计公司背景图
  • 怎样提升网站权重seo伪原创工具
  • 如何看网站有没有收录网页设计专业
  • 请人做网站 说我要求多龙岗永湖网站建设
  • 住房和城乡建设部网站防排烟南宁网站建设地方
  • 成都网站优化最低价深圳网站建设哪里便宜
  • 建立网站难吗互联网运营推广公司
  • 桐庐县建设局网站网站后台功能技术要求
  • cgi做的网站网站设计论文答辩问题及答案万能回答
  • 企业展示网站模板免费下载阿盟住房和城乡建设局门户网站
  • 做网站需要准备的工具如何外贸推广
  • 网站建设l临沂网站开发所需要的时间 知乎
  • 个人网站可以做电商么做网站选什么专业