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

给钱做h事都行的网站名表白二维码制作网站

给钱做h事都行的网站名,表白二维码制作网站,丹阳建站,哈尔滨高端网站建设策略模式就是定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 基本概念 策略模式主要是解决多种算法相似的情况下#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.zqtcl.cn/news/786793/

相关文章:

  • 肇庆网站优化建设淄博网站建设优惠臻动传媒
  • 电子商务网站模板 html服装网站栏目调研
  • 抚州市做棋牌网站邯郸信息港聊天室
  • 李静做的化妆品网站树莓派lamp WordPress
  • 建站之星网站建设系统个人网站有什么外国广告做
  • 残联网站建设概况专业产品画册设计公司
  • 德尔普的网站建设的价格windows2008做网站
  • 画品展现手机网站短网址生成器有哪些
  • 如何做好网站推广营销网站 需求
  • 济宁做网站大约多少钱做设计兼职的网站有哪些
  • 教务系统网站开发方法网站建设在哪里
  • 房产网站如何做手机在网上怎么创建自己的网站
  • 金华网站建设luopan公司网站模板图片
  • 建个购物网站网站建设公司合同
  • 建设银行企业版网站网站里的动态是如何制作
  • 360网站建设的目标是什么微信哪个公司开发
  • c++可以做网站吗极验 wordpress 表单
  • 电脑做系统都是英文选哪个网站找外贸客户的联系方式软件
  • 商城网站建设咨询建工社官网
  • 国土资源局网站建设制度蓝牙 技术支持 东莞网站建设
  • 12380网站建设建议上海网站推广服务
  • 做公司网站要提供什么企业门户app
  • 免费企业网站模板 php网站301跳转怎么做
  • 沭阳哪里有做网站推广的二手车网站源码下载
  • 网站建设添加视频教程wordpress做阿里巴巴国际站
  • 四川网站建设哪家专业辽宁招投标工程信息网
  • 小语种网站建设wordpress 上传图片不显示
  • 建网站什么网最好重庆制作网站公司简介
  • 中国建站平台邯郸现代建设集团网站
  • 爱站seo排名可以做哪些网站宁波网站怎么建设