ASP.NET 3.5企业级项目开发 第一章(续):企业级项目框架解决方案的提出
前言:自从上篇文章,争议很多,所以我决定采用:翻译+自创的方式来写文章,在写的过程中也把自 己的一些心得和体会融合进去,希望大家支持,从技术的角度来看文章。 上一篇文章已经谈论了整个项目的"提出问题--设计方案"部分,本篇的话题是接着上一篇而来的。主 要包括如下: 整个项目的解决方案 步入实战 而且由于篇幅的原因,本系列的文章结构一般是每一章分为两篇文章来写:第一篇:提出问题和设计 方案,第二篇:解决方案。 项目的解决方案 之前我们已经说过了,整个系统的的开发将会采用三层结构:UI,BLL,DAL。当我们用Visual Studio来 创建解决方案的时候,我们可以把很多的不同类型的项目放在同一个解决方案中,这样做也使得我们容易 管理三个层。UI层主要是有web项目和自定义控件组成。UI开发人员控制网站的整体的外观,而不是编码 。他们主要关注外观的字体,颜色等等,来满足客户的外观的需求。 BLL包含了所有的业务逻辑和验证的规则,可以说BLL是整个系统中最为核心的部分。例如,假设在系 统中有一个创建用户的界面,用户的名字是必须而且唯一的,我们一般把判断的逻辑放在了页面的代码后 面。现在如果新的需求来了:系统要导入一个以逗号分隔用户名的文件(也就是说一下子准备创建多个用 户),而且用户名依然是必须且唯一,那么我们就必须在之前出现那段判断逻辑出现的地方去修改,如果 是写在很多的页面中的话,我们就得一一的修改。如果我们是把判断的逻辑放在一个单独的类中,那么我 们就可以重用代码,而且修改也只有一处。相信这点大家都懂,所以业务逻辑层BLL的设计就是依照整个 原理,同时这也是OO中的一个设计原则:封装变化点,哪里变化就封装哪里。 至于第三层就是DAL数据访问层,一般在DAL中包含了数据库访问的一些逻辑,例如调用数据库的存储 过程,或者是执SQL查询语句。一般DAL层的开发人员对数据库操作的知识比较了解。创建DAL的原因主要 是为了以后为数据库的替换带来方便,当数据库变换之后,系统的UI,和BLL不用变化,变化的只是DAL部 分。说实话,虽然设计是这样的,但是一般的在系统完成之后要变换数据库的很少。 下面就是三层架构的很常见的设计图: 步入实战 在我们这个系统开发过程中,整个系统的解决方案的组成部分主要包括:一个ASP.NET的网站项目,一 个类库项目来作为BLL层,一个类库项目来作为DAL层,以及一个服务器控件的类库。同时在系统还会用到 Microsoft Exception Handling Application Block,我会在会面用到的时候,把安装包给大家。 在一个企业级的开发项目中,在使用的控件的时候,很多的时候都是需要定制的,因为一般要根据不 同的业务逻辑来设计开发控件。(希望了解控件开发的朋友,可以看看我的自定义控件系列) 下面我们就开发一步步的动手(也希望大家跟着一起做,因为很多时候看着看着就在不知道之前写了什 么): 1.打开 Visual Studio 2008 ,选择"文件"-"新建"-"项目",如下图: 2.选择"其他项目类型"-""Visual Studio 解决方案" 3.解决方案命名为"PaidTimeOffSolution". 4.选择我们存放解决的目录。 这个解决方案包含了一个ASP.NET网站醒目和一些类库项目。我们可以建立基于文件系统的网站,但是 我们最后的项目还是要放在IIS中运行的,为了更好的模拟我们产品的运行环境,我们还是创建基于IIS的 网站。 下面我们就配置一个IIS的虚拟路径: 1.我们导航到我们刚刚创建的那个解决方案的文件目录下,并且在文件目录下创建一个文件夹: PaidTimeOffUI 2.把PaidTimeOffUI文件夹配置为虚拟的路径. 3.在Visual Studio 2008 中,右击"PaidTimeOffSolution"解决方案,选择"添加新网站",然后建立 基于IIS的ASP.NET网站,并且选择C#语言。 下面我们就开发创建BLL和DAL: 1.右击"PaidTimeOffSolution"解决方案,添加"新建项目",并且选择C#类库,命名 为"V2.PaidTimeOffBLL",然后确认。 2.同理,创建"V2.PaidTimeOffDAL". 3.最后添加一个自定义控件库,如下: 然后编译整个解决方案,并且把V2.PaidTimeOffBLL.dll,V2.PaidTimeOffDAL.dll, V2.FrameworkControls.dll,引入到PaidTimeOffUI网站项目中。 好了,整个项目的解决方案就完成了。 本篇写的比较短,主要是因为才开始,大家见谅,以后的文章就不会这样了! 而且为了大家交流,已经创建企业项目开发团队,希望大家也以后会把有关企业开发的文章放入团队 中,希望大家积极参加这个团队。而且我以后也会发表更多的项目示例,大家一起学习进步! |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |