前言:

在开发中你是否为下图这样的代码感到稍许苦恼,如果没有请您绕开继续划水。

(图-1)

在开发中,我应用到了三种模式尝试让他们变的美观,低耦合,易维护。

方式一:业务结构相似的赋值/取值

如上图,传值判断和赋值相似,可以采用定义枚举来封装代码

回头再看完业务中的代码,变成了短短三行,达到了封装的效果。

方式二:简单工厂模式优化

同样的,还是图-1所示,如果每个if else中的业务需要分别处理,无法进行方式一一般封装的情况下,if else较多,处理逻辑复杂的情况下,代码只会越写越长,可读性和耦合性不甚理想,有时会难以维护,这是可以把单个if else 代码封装成一个业务类去处理,看代码:

1.定义父类或接口

2.子类继承父类或实现接口的方法

3.工厂类匹配相应业务类

4. 封装后业务模块单独处理,易于维护;

方式三:工厂模式+java特性+spring

1.通过spring上下文获取bean

2.添加含通用方法的接口

3.实现通用接口并向spring注册bean

4.业务实现

值得注意的是,这里注入的bean名称要和templateName一致

java 开发多if else 代码优化相关推荐

  1. java开发怎么优化代码,代码优化,该如何处理

    当前位置:我的异常网» Java Web开发 » 代码优化,该如何处理 代码优化,该如何处理 www.myexceptions.net  网友分享于:2014-08-19  浏览:0次 代码优化 pu ...

  2. 深入理解Java虚拟机——程序编译与代码优化 (转)

    2019独角兽企业重金招聘Python工程师标准>>> 深入理解Java虚拟机--程序编译与代码优化 (转) 博客分类: java 一早期(编译期)优化 1概述 Java语言的&qu ...

  3. 初级Java开发与架构之间的差距不仅仅是开发时间

    转载自  初级Java开发与架构之间的差距不仅仅是开发时间 一.基础篇 JVM JVM内存结构 堆.栈.方法区.直接内存.堆和栈区别 Java内存模型 内存可见性.重排序.顺序一致性.volatile ...

  4. java开发工程师转正述职报告

    Java开发工程师转正述职报告 时光匆匆,时光从指间很快流走.我于2018年12月进入公司做java开发工作.试用期的三个月,不仅仅是对我考核的时间,也是我磨合和适应融合公司的时间.初来乍到,又是第一 ...

  5. Alibaba大牛常读的10本Java实战书籍,(Java开发进阶必备书单),可以白嫖了

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...

  6. 阿里大人都在读的10本Java实战书籍,Java开发进阶必备书单

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...

  7. JAVA开发(JAVA架构师成长之路)

    从一个最基础的JAVA开发人员成为JAVA架构师,需要经历8层能力的进阶. 第一阶段:熟悉JAVA基础语法,学会写各种if else和流程语句,熟练使用各种数据类型,集合.能依葫芦画瓢,模仿别人的代码 ...

  8. JAVA开发技能要求:

    初级JAVA开发: 1.掌握HTML/CSS/JavaScript等WEB开发技术,深入了解WEB/AJAX的工作原理,有JQuery,AngularJS,Bootstrap等框架. 2.掌握数据库设 ...

  9. 阿里P8推荐的10本Java实战书籍,Java开发进阶必备书单

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...

最新文章

  1. Boring counting HDU - 3518 (后缀数组)
  2. MOCTF-火眼金睛
  3. java操练之求两数最大公约数的两种算法思路
  4. 深度学习(二)theano学习笔记(1)环境搭建
  5. java nextintln_Java对正则表达式的支持(二)
  6. TensorFlow:实战Google深度学习框架(三)深层神经网络
  7. dell服务器怎么看硬件状态,从DELL 2950和DELL R710看服务器硬件
  8. 不是所有的程序员都适合转管理
  9. html表单与python交互,HTML表单不能与python一起使用
  10. SQL注入:5、SQL盲注
  11. 灵活地横向扩展:从文件系统到分布式文件系统
  12. 翻遍知乎1000多个高赞回答,我找到了这7本计算机圣经
  13. svn服务器设置忽略文件夹,如何使用SVN忽略目录?
  14. linux acl权限是什么意思,Linux ACL是什么意思
  15. Android中使用Webview SSL 自签名CA证书安全校验方案
  16. 校招选择题汇总【图形推理(1)】含答案解析
  17. 51单片机的UART应用
  18. 西北农林科技大学计算机考研好考吗,西北农林科技大学考研好考吗?
  19. linux的双系统修复工具下载,EasyBCD(系统引导修复工具)
  20. C语言之——左旋字符串

热门文章

  1. python读取excel的公司名称信息,并爬虫获取公司的经营范围信息,回填到excel中
  2. 安卓8.0下的应用安装
  3. android 批量安装apk,如何一键批量安装APP应用apk安装包?
  4. ABAP 设置鼠标光标
  5. 如何衡量和分配广告渠道?
  6. Android加载图片导致内存溢出(Out of Memory异常)
  7. [积水成渊]asp.net中HiddenField的使用
  8. 微信小程序学习(三):在微信开发者工具中,使用WeUI前端美化框架,微信小程序
  9. 1、大道至简的数据处理工具-(Microsoft Power Query入门)
  10. docker push latest 和 保存历史版本