当数据逻辑与业务逻辑耦合太紧密时,不仅增加了新人对代码理解的难度,增加了代码维护的成本,而 且也增加了单元测试的数据构造的成本,同时也会使代码在复用性上也大打折扣。

  如果从设计上按分层思想将代码划分:把数据获取放入一层,把数据处理放入另一层。不同层次的职责不同,所关注的内也容不同,数据获取层只关注如何把需要的数据从DB,或是文件系统中获取;数据处理层只关注数据处理的逻辑,不用关心数据是哪里来的,这样从设计上将关注点分离,使代码的耦合性自然降低,可测性也提高了。

 

  改造后的代码可以只针对主要逻辑进行测试,测试针对性明显加强,同时这个增加成绩的功能可以通用,以后新增类似功能的时候 (如学生干部加分),只需要对sql语句进行测试,功能的case还可以复用。