"当系统的每一部分都由最优解或相对优解组成,那么系统最终也将是最完美的。"
这句话是在参加莫技术分享会上听到的,这句话吸引我占在人群后面听完了她的分享,确实受益良多。
本文也旨在描述自己在项目演变中对一处公共处理逻辑优化的过程,周期略长最近有时间整理如下。
业务系统数据传递过程中,会抽取一些公共的属性和方法封装为特定基类以便于后续开发进行继承。
这些被抽象出来的拥有公共属性的基类,在业务流转过程中的赋值也应当进行统一妥善的处理。
看到这里的小伙伴们可能心中有点疑惑,在业务组织 Class_A/Class_B/...将基类中基本属性顺势填充不就可以了吗?
实际业务中 BaseClass 中的属性需要根据各种不同的场景进行演变和推算,你确定将这些公共推算方式放入业务逻辑中合适吗??
随着系统扩展继承 BaseClass 的子类会膨胀,所有的子类都需要进行父类基本属性赋值,代码看起来是不是有点重复?
当公共属性推算方式发生变化,修改所有子类计算方式和修改公共方法,工作量孰重孰轻?
抽取成公共方法这点毋庸置疑的,但怎样高效和优雅的书写代码呢?
本文试结合实例,简述在业务流转中对拥有公共属性基类赋值的方法以及后续持续优化。
例子将省略公共属性的判断推算过程,实际项目中的公共属性和业务对象过于复杂,自己简单抽象对象如下(关注点为公共属性的赋值)。
public class BaseStudentVO { private String stu_id; private String stu_name; private Integer stu_age; private Date stu_birthday; .......getter/setter }public class PrimaryScholar extends BaseStudentVO { .......logicAttribute }
延伸阅读
学习是年轻人改变自己的最好方式