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

网站建设与维护是什么意思粉末涂料 技术支持 东莞网站建设

网站建设与维护是什么意思,粉末涂料 技术支持 东莞网站建设,网站备案 费用,126企业邮箱注册面向对象语言具有非常强大的多态性功能#xff0c;用于删除代码中的if / else或切换大小写。 没有条件的代码易于阅读。 在某些地方必须放置它们#xff0c;其中一个示例是Factory / ServiceProvider类。 我敢肯定#xff0c;您已经看到IF-ELSEIF的工厂课程了#xff0c;… 面向对象语言具有非常强大的多态性功能用于删除代码中的if / else或切换大小写。 没有条件的代码易于阅读。 在某些地方必须放置它们其中一个示例是Factory / ServiceProvider类。 我敢肯定您已经看到IF-ELSEIF的工厂课程了而且规模还在不断扩大。 在此博客中我将分享一些技巧您可以使用这些技巧来消除工厂课堂上的情况。 我将使用以下代码段作为示例 public static Validator newInstance(String validatorType) {if (INT.equals(validatorType))return new IntValidator();else if (DATE.equals(validatorType))return new DateValidator();else if (LOOKUPVALUE.equals(validatorType))return new LookupValueValidator();else if (STRINGPATTERN.equals(validatorType))return new StringPatternValidator();return null;}反射 这是您要删除条件时想到的第一件事。 您会感到框架开发人员的感觉 public static Validator newInstance(String validatorClass) {return Class.forName(validatorClass).newInstance(); } 这看起来很简单但唯一的问题是调用者必须记住完全限定的类名并且有时可能会出现问题。 地图 映射可用于将实际的类实例映射到一些用户友好的名称 MapString, Validator validators new HashMapString,Validator(){{put(INT,new IntValidator());put(LOOKUPVALUE,new LookupValueValidator());put(DATE,new DateValidator());put(STRINGPATTERN,new StringPatternValidator());}};public Validator newInstance(String validatorType) {return validators.get(validatorType);} 这看起来也很整洁没有反射的开销。 枚举 这很有趣 enum ValidatorType {INT {public Validator create() {return new IntValidator();}},LOOKUPVALUE {public Validator create() {return new LookupValueValidator();}},DATE {public Validator create() {return new DateValidator();}};public Validator create() {return null;}}public Validator newInstance(ValidatorType validatorType) {return validatorType.create();} 此方法使用enum方法删除条件问题之一是每种类型都需要Enum。 您不想创建大量的文件 我个人喜欢这种方法。 结论 如果使用else或switch大小写会使代码难以理解则应尽量避免使用它们。 应该使用语言构造来避免某些切换情况。 我们应该尝试在没有IF-ELSE的情况下进行编码这将迫使我们提出更好的解决方案。 翻译自: https://www.javacodegeeks.com/2014/10/factory-without-if-else.html
http://wiki.neutronadmin.com/news/173932/

相关文章:

  • 网站制作小常识找个人制作网页的网站
  • 从哪些方面进行网站建设网线制作实验报告总结
  • 龙岩市城乡建设局网站进不去网站设计制作推荐
  • 淄博培训网站建设seo引擎优化是什么
  • 新乡手机网站建设策划公司宣传语
  • 自己做网站的软件注册深圳公司条件
  • 网站建设与管理是哪个软件wp用户前端化专业版wordpress插件[中英双语]
  • 网站的软文 怎么做推广05网伴你学
  • 企业先做网站还是先做淘宝广告位网站建设
  • 代做效果图的网站好山东个人网站备案
  • 找人做网赌网站需要多少钱网站管理后台登录地址
  • 做logo去哪个网站房产中介网站开发费用
  • 专业品牌网站建设价格哪个浏览器可以看禁止网站
  • 新思域设计公司网站建设建设厅证书查询网站
  • 网站空间模板电信 网站备案
  • 如何设计中文网站浙江省和住房建设厅网站
  • 网站集约化建设要求深圳建筑协会
  • 具体阐述对网站如何加强建设广州seo学徒
  • 河北建设协会官方网站wordpress wp posts
  • 做电台用啥什么网站大连零基础网站建设教学公司
  • 做网站需要多少钱呢创业小项目 个人创业电商
  • 企业网站托管注意事项指数函数公式
  • 金华永康义乌网站建设廊坊优化外包
  • 沈阳企业网站设计制作dw做网站的导航栏怎么做
  • 网站导航栏效果手机旅游网站建设
  • 网站设计北京新毕业设计做网站还是系统好
  • c .net 做网站广州番禺区男科医院
  • 建个企业网站一年多少钱成都有什么好玩的吗
  • 彩票网站做维护是什么石家庄站在哪个区
  • 保定电子商务网站建设怎样做一个app