所谓的三层开发我已在前面提到过简单的说说是就是将整个业务的代码妥为表示层\业务逻辑层\数据访问层数据库等,有的还要细一些,明确地将客户端的表示层、业务逻辑访问、和数据访问及数据库访问划分出来,相较于单层结构更利于软件的开发,维护、部署和扩展。
软件分层,其实总结一句话,是为了把问题划分开来解决,易于控制,易于延展,易于分配资源。 三层结构的优势在于:1. 通过将整个软件业务分为不同的逻辑层,降低了应用软件的开发和维护的成本,提高了生产力。
三层结构将表现(界面与业务相交接)部分和业务逻辑部分按照客户层和应用服务器相分离,客户端和应用服务器、应用服务器和数据库服务器之间的通信以及异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务器的业务逻辑改变时,客户端并不需要改变,反之亦然,从而大大提高了系统模块的复用性,缩短了开发周期,降低了维护费用。
.就比如一个班的同学出去野坎一样,由张**去买菜,刘**准备餐具......我们很容易就能知道大家都准备了什么,还差些佬,非常节省时间和体力。当一个同学没有来时,就不会使整个计划不能执行。
如果我们把这些都由一个同学来准备,你觉得会怎么样?会不会很乱,他甚至于忙不过来,维护起来很浪费时间. 2. 将数据访问和逻辑操作都集中到组件中,增强了代码的复用性。将一些共性的逻辑操作的方法都集中封装在逻辑层中,当有多个功能相近的就可以调用封闭好了的方法从而减少了应用程序中的重复代码,每个需要访问数据库表都可能使用相同的方法
3. 软件的扩展性(升级)大大增强。
模块化使得系统很容易在纵向和水平两个方向拓展:当客户需要更多的功能时,一方面可以将功能添加到软件升级,同时也可以适当增加规模来增强系统的网络应用。由于摆脱了系统同构性的限制,使得分布数据处理成为可能。在升级或扩充原有功能时,基本不会破坏原有结构的稳定性。
本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2007/06/21/2912355.html ,如需转载请自行联系原作者