zoukankan      html  css  js  c++  java
  • Asp.Net大型项目实践(2)新建项目及分层(附源码)

    1. 开发环境准备...
      Microsoft Visual Studio 2008
      Microsoft Visual Studio 2008 Sp1(补丁)
      Microsoft ASP.NET MVC 1.0
    2. 新建解决方案

      新建空白解决方案 HISDemo
    3. 新建解决方案文件夹

      对于大型项目而言,模块和代码众多,我们可以通过“解决方案文件夹”来对项目进行合理的管理,如下图:

      lib文件夹用来存放项目中引用的第三方dll(这样有个好处,你可以把DLL拖进去,这样当你项目绑定VSS后,这些DLL大家就可以通过VSS获取了)
      Presentation(展示层)用来存放UI层相关代码
      因为项目模块众多,我们可以按照粗粒度的模块进行划分如Infrastructure(基础数据设置模块),住院模块,门诊挂号模块....
      注:解决方案文件夹可以用中文,你也可以按照你的习惯和具体项目情况进行划分,总的原则就是方便管理和查看
    4. 基本分层思想
      时间关系图花的比较糙,有些术语也不是很规范,能理解意思就行,如图:

      数据访问层Repositories:主要用NHibernate访问数据库,但也有可能去访问其他模块或系统的WebService,也有可能用Linq去访问一些缓存(内存中的)数据,也有可能访问XML,文本文件等等....
      业务领域层Core:系统的核心层,所有与数据访问无关的业务逻辑都应该内聚在这里,业务领域对象理论上应该是充血的,内聚自己的业务逻辑。但有一些业务逻辑在设计的时候涉及到了多个业务领域对象 ,我们很难决定放在哪个具体的业务对象里,所以我们有一个Service层来放这种业务逻辑。
      装饰层Facade:把数据访问接口,业务领域对象的业务逻辑,Service接口简单的封装一下成为Facade层接口供展示层UI或SOA层调用,这个层需要注意的是它只是简单的封装,免得UI层调太多层的接口,这层不应含有业务逻辑。
      SOA层:因为系统比较庞大 模块很多,且业务上要求各大模块间需要一定解耦,所以这一层作用是作为各大粗粒度模块间调用以及给其他系统调用,比如有基础数据管理大模块和门诊挂号大模块,他们之间的调用是必须要通过SOA层的,而不能直接走Facade层,传输的对象应该新建DTO数据传输对象,而不应该直接传递业务领域对象,从而通过SOA层我们把各个粗粒度模块完全隔离开。这个层取名为SOA也许不大恰当,大家也不必深究...计划是采用WCF 这样可以灵活的配置通讯方式
      表现层Presentation:由Asp.net MVC的Action给ExtJs传输数据 ,Controler只需调用Facade接口
      公共类库FrameWork:整个项目框架的公用代码,相当于公共类库,也许叫FrameWork不大恰当 呵呵
    5. 新建分层项目
      新建3个类库项目如图:

      注意修改一下项目的命名空间,如Demo.HIS.Infrastructure.Core [公司名].[项目名].[大模块名].[分层名]....在实际项目中合理的命名空间是很重要的
       
      再在Presentation文件夹下新建2个项目Demo.HIS.MVC(项目类型:类库)和DemoHisSite(项目类型:Asp.net MVC Web Appliction),如图:

      最后在解决方案根目录下新建一个类库Demo.HIS.FrameWork作为我们的公共类库就完成了,最后的项目结构是这样的:
       

    这样我们整个系统所需的项目就建立完成了

    源码:HISDemo-1.rar

    1. 相关阅读:
      常见ETL工具一览
      php语言查询Mysql数据库内容
      修改博客园模板样式
      《将博客搬至CSDN》
      使用 Git 和 GitHub 托管项目源码
      Delphi webbrowser 的一些方法
      Delphi 实现 图灵机器人API(IDHTTP POST )
      Delphi 中调用JS文件中的方法
      HTTP 常见异常状态及Delphi IDHTTP 控件处理方式
      Delphi Cookie获取及使用
    2. 原文地址:https://www.cnblogs.com/legendxian/p/1631559.html
    Copyright © 2011-2022 走看看