为什么要分层?

  这个问题不是问别人,而是问自己。因为我发现自己深深地陷入“人云亦云”的痛苦之中,只要看到网友们的评论,自己便不加思索的认为就是正确的,事实证明大多数是正确的,可是自己也越来越不愿动脑子,认为只要有互联网就一切OK。我太依赖互联网而不是自己的脑子了!改!!!

  回到这个问题,关于分层的问题,之前也研究过,现在也在使用分层,此时回过头来再看这个问题,确实有些话要说:

(1)不整洁:把数据访问,业务处理以及前台展示都写在一个地方,会显得代码很乱。(反正我是看见这些混在一块的代码就心烦),而且项目组其他成员接手你的代码时会很痛苦,就算整个项目组就你一个人,时间长了你同样会很痛苦。

(2)不好调试:很多情况下,出现问题后我们基本上都能猜出是哪出问题了(有经验的程序员,看到错误信息基本上都能判断出是哪个层的问题),此时如果我们采用了分层开发,那么就可以直接定位到该层的某个方法进行调试,不会被其他无关的代码分散精力;

(3)代码冗余:像数据访问的代码,基本上是随时都要用的,如果这些代码跟着业务和表示一块走,那么一旦有什么修改,你就惨了,你就挨个页面改去吧,而最痛苦的是你要改好多一模一样的代码;

(4)违反设计原则:项目设计时经常提到“单一职责原则”,简单地说就是“专心干好自己的事”。对于前台展示来说,我就是想要你业务层的一个处理结果,我不管你是怎么处理的,那业务处理层就按表示层的要求返回处理结果就行,具体的处理过程,不用在表示层体现。

目前也就想到这些了,也许我的观点你在好几年前就提出了,甚至连文字都跟你的一样,但是我负责任的说:这都是经过本人大脑加工的文字,如有雷同实属巧合!

原文地址:https://www.cnblogs.com/jjhe369/p/1897874.html