分层与分模块开发,是开发时经常选用的两种方式,应该说分模块开发是较多被采用的方式,但一直以来都觉得其实分层方式自己是比较欣赏的方式,对于两种开发方式分别的看法是:
分层开发
优点:
1、保持系统分层结构
分层开发在这点上无疑是可以保证的,同时有利于保证系统层次的职责的清晰以及分离。
2、面向接口的编程
由于采用分层开发,各层次之间采用接口依赖的方式就更容易被执行了。
缺点:
1、容易造成瓶颈现象
由于分层开发各个承担人员的任务难度不一样,很容易形成瓶颈现象。
2、对于系统设计的要求更高
这点应该说不能算是缺点。
3、容易出现扯皮现象
分模块开发
优点:
1、系统功能更容易被完成
由于采用分模块开发,开发人员从头到尾负责,一定程度上来讲减少了沟通以及协调成本,使得系统功能能够被更容易的完成。
缺点:
1、容易造成系统的分层结构缺失
通常在项目实际的赶工情况下,很容易形成系统的分层结构缺失的情况,开发人员为了完成功能完全不顾分层,不顾层次职责的分离的保证,这点在实际的项目中往往不是那么好控制。
2、面向接口编程的贯彻不力
这点也通常是由于上面的原因,当然,其实这里面最根本的原因是开发人员本身的素质不够高....
在开发人员水平参差不齐的情况下,我认为分层开发方式更有利于保证系统的质量,尽管在具体实施的时候可能会碰到一些问题,希望能听听采用过分层开发方式的朋友们的看法。