0
点赞
收藏
分享

微信扫一扫

重构if - else语句

_阿瑶 2022-03-12 阅读 203



对if - else语句代码进行重构优化


  • ​​switch​​
  • ​​interface​​
  • ​​db setting​​
  • ​​总结​​


switch


  • if - else只适合在3层之内使用
  • 当条件判断较多时,可以首先考虑使用switch

interface

  • 当判断条件还可能动态增加时,可以考虑将​switch​进一步优化,引入接口​interface​,将​代码与数据分离​:

  • 创建一个map:

  • key:​ switch的case值
  • value:​ 对应的实体类

  • 抽象出通用方法,变成一个接口,统一入参和返回值
  • 主实现类​controller​类就是将​type​值传进去,获取到对应的实现类,然后调用抽象出来的方法,这样无论增加多少个​case,​ 都不会改变主逻辑代码
  • 每个类单独实现接口,互不影响

db setting


  • 用​db setting​表的方式加载​type​对应的实体类
  • 这样做到了​配置数据化



  • 如果case中的实现类需要动态变化呢?
  • 解决方案:​ 将​case​的实现用动态语言完成,并且将代码写在​db​里

  • db​里保存的是代码
  • 启动的时候初始化所有的实现类,以节省时间
  • 主实现类​controller​类里主逻辑代码不变,但额外提供一个初始化​map​的方法
  • 如果需要新增的case和实现类,修改db,调用更新map的方法,重新初始化(甚至可以写一个后台编辑脚本发布的功能)



总结


  • 架构设计和需求相关,不仅要会技术,还必须懂行业,要知道需求在可见的时间里会变化到什么程度,然后根据不同的程度来给出不同的方案
  • 不要过度设计:
  • 有方案不代表当前必须做,能把设计提前比需求快一步,就很好了
  • 学会给自己的代码分级,是让自己进步的最好的办法.一个人的成长分为几个阶段:

  • 面向功能编程
  • 面向性能编程
  • 面向复用编程
  • 面向未来编程



举报

相关推荐

优化if else语句

JAVA if else 语句

分支语句if else条件

细谈if-else语句

if/else语句C语言

JavaScript If...Else 语句

0 条评论