把各个功能按调用流程进行了模块化,模块化带来的好处就是可以随意组合,举例说明:如果要注册一个用户,流程为显示界面并通过界面接收用户的输入,接着进行业务逻辑处理,在处理业务逻辑又访问数据库,如果我们将这些步骤全部按流水帐的方式放在一个方法中编写,这也是可以的,但这其中的坏处就是,当界面要修改时,由于代码全在一个方法内,可能会碰坏业务逻辑和数据库访问的码,同样,当修改业务逻辑或数据库访问的代码时,也会碰坏其他部分的代码。分层就是要把界面部分、业务逻辑部分、数据库访问部分的代码放在各自独立的方法或类中编写,这样就不会出现牵一发而动全身的问题了。这样分层后,还可以方便切换各层,譬如原来的界面是Swing,现在要改成BS界面,如果最初是按分层设计的,这时候不需要涉及业务和数据访问的代码,只需编写一条web界面就可以了。
分层的好处:
1.实现了软件之间的解耦;
2.便于进行分工
3.便于维护
4.提高软件组件的重用
5.便于替换某种产品,比如持久层用的是hibernate,需要更换产品用toplink,就不用该其他业务代码,直接把配置一改。
6.便于产品功能的扩展。
7.便于适用用户需求的不断变化