ASP.NET 3.5企业级项目开发 第一章(续):企业级项目框架解决方案的提出2011-10-14 cnblogs 小洋前言:自从上篇文章,争议很多,所以我决定采用:翻译+自创的方式来写文章,在写的过程中也把自 己的一些心得和体会融合进去,希望大家支持,从技术的角度来看文章。上一篇文章已经谈论了整个项目的"提出问题--设计方案"部分,本篇的话题是接着上一篇而来的。主 要包括如下:整个项目的解决方案步入实战而且由于篇幅的原因,本系列的文章结构一般是每一章分为两篇文章来写:第一篇:提出问题和设计 方案,第二篇:解决方案。项目的解决方案之前我们已经说过了,整个系统的的开发将会采用三层结构:UI,BLL,DAL。当我们用Visual Studio来 创建解决方案的时候,我们可以把很多的不同类型的项目放在同一个解决方案中,这样做也使得我们容易 管理三个层。UI层主要是有web项目和自定义控件组成。UI开发人员控制网站的整体的外观,而不是编码 。他们主要关注外观的字体,颜色等等,来满足客户的外观的需求。BLL包含了所有的业务逻辑和验证的规则,可以说BLL是整个系统中最为核心的部分。例如,假设在系 统中有一个创建用户的界面,用户的名字是必须而且唯一的,我们一般把判断的逻辑放在了页面的代码后 面。现在如果新的需求来了:系统要导入一个以逗号分隔用户名的文件(也就是说一下子准备创建多个用 户),而且用户名依然是必须且唯一,那么我们就必须在之前出现那段判断逻辑出现的地方去修改,如果 是写在很多的页面中的话,我们就得一一的修改。如果我们是把判断的逻辑放在一个单独的类中,那么我 们就可以重用代码,而且修改也只有一处。相信这点大家都懂,所以业务逻辑层BLL的设计就是依照整个 原理,同时这也是OO中的一个设计原则:封装变化点,哪里变化就封装哪里。至于第三层就是DAL数据访问层,一般在DAL中包含了数据库访问的一些逻辑,例如调用数据库的存储 过程,或者是执SQL查询语句。一般DAL层的开发人员对数据库操作的知识比较了解。创建DAL的原因主要 是为了以后为数据库的替换带来方便,当数据库变换之后,系统的UI,和BLL不用变化,变化的只是DAL部 分。说实话,虽然设计是这样的,但是一般的在系统完成之后要变换数据库的很少。下面就是三层架构的很常见的设计图:
