zoukankan      html  css  js  c++  java
  • ASP.NET3.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.FrameworkControls.dll,引入到PaidTimeOffUI网站项目中。

           好了,整个项目的解决方案就完成了。
     
           本篇写的比较短,主要是因为才开始,大家见谅,以后的文章就不会这样了!
     
          而且为了大家交流,已经创建企业项目开发团队,希望大家也以后会把有关企业开发的文章放入团队中,希望大家积极参加这个团队。而且我以后也会发表更多的项目示例,大家一起学习进步!


     

  • 相关阅读:
    Maven仓库是什么
    Maven的工程类型有哪些?
    什么是Maven?
    MyBatis 与 Hibernate 有哪些不同?
    MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
    使用过Redis做异步队列么,你是怎么用的?
    我们怎样才能在动作类中获得Servlet API请求,响应,HttpSession等对象?
    forward 和redirect的区别 ?
    你所知道的微服务技术栈有哪些?请列举一二
    SpringMVC流程?
  • 原文地址:https://www.cnblogs.com/yanyangtian/p/1490737.html
Copyright © 2011-2022 走看看