Spring.Net+NHibenate+Asp.Net mvc +ExtJs 系列 2----整体架构

简介:

 就以一个简单的DirectCenter项目开始介绍这个框架吧,DirectCenter主要分为用户管理,部门管理,公司管理三个模块。首先先搭建起解决方案DirectCenter:
          DirectCenter:           
                   DirectCenter.Model    (类库项目)实体类库,其中包括hibernate映射文件(可以把映射文件放到DAL层,这样使Model也比较单纯,而DAL则只是Nhibernate的完整实现)
                   DirectCenter.IDAL     (类库项目)数据访问层接口   
                   DirectCenter.DAL       (类库项目)数据库访问层实现(采用NHibernate)
                   DirectCenter.IBLL     (类库项目)业务层接口
                   DirectCenter.BLL      (类库项目)业务层实现(使用IDAL,通过spring.net的IOC注入实际的数据访问层)
                   DirectCenter.App      (类库项目)系统的配置,其中包括Nhibernate,Spring.net的一些配置信息,业务层的DAL注入.
                   DirectCenter.UnitTest  (类库项目)  使用nunit对业务层进行单元测试

                   DirectCenter.DTO    (类库项目)    data transform  object 用于和前台UI层交互的实体。之所以分出来,也是为了考虑不只是为了Web项目,同时包括WebService等其它UI.(可能会有不少人会问已经有Model了,为什么还需要DTO?)

                   DirectCenter.Controllers  (类库项目)   Web控制器。用户请求和后台业务层的中转,接收并分析用户请求,调用业务层完成请求,再分发给用户。(注意这里调用的是IBLL,是业务逻辑接口,也是通过Spring.Net的IOC注入具体的业务实现)。
                  
DirectCenter.Web (Web Application)  单纯的View层,主要由ExtJs完成界面和Ajax请求。

              当然,这里也可以加一个Controllers的单元测试项目,不过我觉得这里很多时候用处不是很大。因为这里Controllers的工作比较统一和单纯了。
         首先先设计和建立数据库,字段和说明如下:
            未命名.bmp

        数据库中没有外键关系,因为一对多,多对多这些关系使用NHibernate的持久层建立和维护,每个表中都有一个Version字段,这是为了使用Nhibernate内置的对象的版本控制来解决并发问题。
       接下来的工作就简单了许多,因为今天我们只要完成实体就行,而实体类和映射文件的工作有一些辅助工具可以帮我们生成,比如codesmith,Nconstruct,Database2Sharp等,不过我还没有发现哪个工具能够很好的生成关系映射.这里只把User的类和映射文件放在这里,其它的两个可以在源代码附件中找到。

User.cs

 

 

 

User.hbm.xml

   注:User的表名和实体名不一致的原因是因为User是数据库中的关键字。另外需要注意的是,映射文件中的命名空间要正确,映射文件(*.hbm.xml)不要忘了设置成Embedded Resource (嵌入式资源)。
     
    数据库设计,实体,映射文件是使用这个框架开发最关键的,毕竟是转换需求的最重要的一步。如果设计的好的话,接下来的开发相对容易多了。下次介绍数据访问层和业务层的实现。
   
   代码

作者:孤独侠客似水流年
出处:http://lonely7345.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

分类: .NET

本文转自孤独侠客博客园博客,原文链接:http://www.cnblogs.com/lonely7345/archive/2008/08/31/1280719.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
101 5
|
1月前
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
169 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
4月前
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
展望未来,随着5G、边缘计算等新技术的兴起,微服务架构的设计理念将会更加深入人心,Spring Cloud和Netflix OSS也将继续引领技术潮流,为企业带来更为高效、灵活且强大的解决方案。无论是对于初创公司还是大型企业而言,掌握这些前沿技术都将是在激烈市场竞争中脱颖而出的关键所在。
77 0
|
4月前
|
Java 对象存储 开发者
解析Spring Cloud与Netflix OSS:微服务架构中的左右手如何协同作战
Spring Cloud与Netflix OSS不仅是现代微服务架构中不可或缺的一部分,它们还通过不断的技术创新和社区贡献推动了整个行业的发展。无论是对于初创企业还是大型组织来说,掌握并合理运用这两套工具,都能极大地提升软件系统的灵活性、可扩展性以及整体性能。随着云计算和容器化技术的进一步普及,Spring Cloud与Netflix OSS将继续引领微服务技术的发展潮流。
80 0
|
10天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
144 5
|
3月前
|
Java Spring
Spring底层架构源码解析(三)
Spring底层架构源码解析(三)
196 5
|
3月前
|
XML Java 数据格式
Spring底层架构源码解析(二)
Spring底层架构源码解析(二)
|
3月前
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
77 3
|
3月前
|
Cloud Native Java 对象存储
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
面向未来的架构设计:Spring Cloud和Netflix OSS在云原生环境下的发展趋势
60 1