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

wordpress网站页脚广西城乡建设厅网站

wordpress网站页脚,广西城乡建设厅网站,深圳定制网站制作招聘网,在线A视频网站l一级A做爰片策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 基本概念 策略模式主要是解决多种算法相似的情况下#xff0c;使用if...else所带来的复杂和难以维护。当存在系统中有多个类#xff0c;但是区分它们的是只是它们的直接行为#xff0c;那我们…策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 基本概念 策略模式主要是解决多种算法相似的情况下使用if...else所带来的复杂和难以维护。当存在系统中有多个类但是区分它们的是只是它们的直接行为那我们可以把这些封装成一个一个类然后进行任意替换。 策略模式存在三种角色: Strategy 策略(算法)抽象ConcreteStrategy 各种策略(算法)的具体实现Context 策略的外部封装类或者说策略的容器类。根据不同策略执行不同的行为。策略由外部环境决定。 案例 抽象类 public interface Strategy {public void encrypt(); }定义算法抽象类方法为加密。 具体实现类 AES加密 public class AESStrategy implements Strategy{Overridepublic void encrypt() {System.out.println(执行AES);}}MD5加密 public class MD5Strategy implements Strategy {Overridepublic void encrypt() {System.out.println(执行MD5);} }继承算法抽象类具体用AES、MD5方法进行实现。 外部环境封装类 public class Context {private Strategy strategy;public Context(Strategy strategy) {this.strategystrategy;}public void encrypt(){this.strategy.encrypt();} }测试类 public class MainTest {public static void main(String[] args) {Context context new Context(new AESStrategy());context.encrypt();} } 小改一下 上面测试使用的时候需要自己新建一个实例阅读性不够好所以就重新用枚举类修改一下。 算法枚举类 public enum StrategyEnums {MD5(MD5算法){Overridepublic Class? getStrategyClass() {return MD5Strategy.class;}},AES(AES算法){Overridepublic Class? getStrategyClass() {return AESStrategy.class;} };public abstract Class? getStrategyClass();private String className;StrategyEnums(){}StrategyEnums(String className){this.className className;}public String getClassName(){return className;} }枚举方法返回算法具体实现类的Class并加上类的算法描述。 public class Context {private Strategy strategy;public Context(StrategyEnums enums) {try {this.strategy (Strategy) enums.getStrategyClass().newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}public void encrypt(){this.strategy.encrypt();} }包装类的参数改为枚举值根据枚举值来构建实例。 public class MainTest {public static void main(String[] args) {Context context new Context(StrategyEnums.AES);context.encrypt();} }测试可用但是这样的话就是需要同时维护枚举类新构建一个算法具体类同时要维护枚举类不过就是增加了可读性。 总结 使用策略方式可以提供良好的扩展性、避免大量的if...else的条件判断算法可以自由切换。当遇到多个类似的算法策略可以考虑策略模式。
http://www.hkea.cn/news/14481392/

相关文章:

  • seo需要懂代码吗上海谷歌seo
  • 自己做网站发信息网站公司建设
  • 中国石油天然气第七建设公司网站网站制作公司官网
  • 微信微网站建设台州企业建站程序
  • 空包网站怎么建设金融行业高端网站制作
  • 陕西省交通建设厅网站大学生电子商务专业网站设计
  • 北京网站设计实力乐云践新网页优化与网站优
  • asp 企业网站管理系统网站备案掉了怎么办
  • 重庆多语网站建设品牌企业wordpress轻量
  • 儿童教育网站模板网页设计自己做网页素材
  • 福田网站建设wordpress knowall主题
  • setnet科技网站建设用nas做网站
  • 国外html5网站模版网站内容建设招标
  • 重庆找工作的网站微帮推广平台怎么加入
  • 青岛李沧区网站建设php做网站登陆验证
  • 高效网站建设导航类网站源码
  • 龙华做棋牌网站建设找哪家效益快做pc端网站行业现状
  • 潍坊网站建设500网站栏目模块
  • 网站建设有什么工作大作设计网站官网入口
  • 排名推广网站天津网站建设制作排名
  • 中科汇联网站建设手册智能建站官网
  • 做网站的后台用什么开发比较好平面设计高端网站
  • 信阳建设网站培训学校类网站建设方案1
  • 建设网站的情况说明python生成网页
  • 石家庄网站外包公司郑州大型网站建设
  • 好的提升设计师网站抄袭的网站
  • 网站布局介绍番禺营销型网站建设
  • 优质网站的衡量标准微信小程序在哪里找?
  • 网页设计制作音乐网站番禺网站建设公司有哪些
  • 淘宝有做钓鱼网站的吗后端低代码平台