“界面层与业务逻辑分离”,这句话,相信只要做了一段时间程序,就会听到过或看到过。但实际上,在很多项目中,界面层一直在抢业务逻辑层的事(至少我经历两个,前段时间项目要提供EXCEL导入的功能,相当于添加了另一个平台,悟了),业务逻辑层只是充当于调用下数据访问层的角色。
例如,在添加一个员工信息时,在页面中会有判断各个字段是否满足特定的条件,然后,访问数据库判断是否已经添加此员工的信息,如果没有,则添加数据,然后再判断是否添成功。此时,界面承载了过多的业务逻辑,如果我们需要加入导入员工信息的功能,则需要将员工添加的代码重新写遍。
总的来说,很多人在做应用时,将一些本该属于业务逻辑层里面的东西在界面层做了,如果只是一个平台,并且业务逻辑也不被共用,也无可厚非。但是,如果项目稍大一些,如果不把责能划分清楚,重复的逻辑过多,在后期维护时将会是一个灾难。我们可以将对字段判断的逻辑放在modle的部分类中(因为,对字段一些验证简单、通用并且繁多,如果直接放在业务中,将影响业务逻辑的可读性),其它的逻辑还是放在它应该在的逻辑层中。