zoukankan      html  css  js  c++  java
  • 企业级应用架构(NHibernater+Spring.Net+MVC3+WCF)_3.0

    本架构在前一个版本的基础上进行了功能的升级,加上了常用的SOA应用部分,坚持将松散耦合、可扩展性、易维护性、可裁剪性进行到底。本架构依然站在福勒的肩膀上采用.Net技术实现其基本思想。系统在传统三层架构上新增了“传说中”的第四层,即“System Interaction(系统交互)”层.
          较之前一个版本,本版本新增以下新亮点:
    1、新增架构对SOA应用的支持,使用WCF实现。
    2、Spring深度整合WCF。
    3、远程外观模式(Facade)应用。
    4、新增系统交互层。
    5、根据目标实际项目,架构可裁剪。
    6、数据传输对象模式(DTO)应用。
    代码:
    运行环境:

    VS2010、MVC3、WCF4、 .NetFramework4.0、Window XP以上、SQLServer NorthWind数据库

    说明:
         下图是架构视图,先对相关部分进行说明,其中有些部分我会省略,原因是前面的版本我已经详细说明过了,具体可参考我其他的版本。
         
         Host:即为宿主,是一个WCF应用,也可以是其他形式的宿主(如:Windows Server、Console等)。
         Facade:即为WebSerive的具体调用,其接口声明了服务的契约部分,这样实现了调用分离,Facade被福勒定义为“远程外观”,其主要职责是进一步整合Service中的方法,尽可能降低通信率,提高通信效率。当然这里面的方法都是你需要暴露给外界的WebSerive。它是WebSerive的门户,我们还可以在这里实现数据类型转换(DTO->Domain),数据有效性验证等处理。
         DTO:即为数据传输对象,这也是分布式应用中常用的模式,为的是减少通信次数,一次尽可能多的返回客户端所需要的信息,在这里我们还将它声明为数据契约,也可以做些类似于Model中数据有效性验证。
         Interaction:即为系统交互层,这是四层架构中的一层,为的是让系统和其他系统间通信的代码集中管理起来,并使用其接口实现松耦合。系统从外部系统获取的信息,在这里经过类型转换和有效性验证后交给Service层做业务的处理。
    开发架构:
            
            
     
     
    分类: 设计模式
    标签: 架构mvcspring.netNHibernateWCFSOA
  • 相关阅读:
    vue-cli创建的webpack工程中引用ExtractTextPlugin导致css背景图设置无效的解决方法
    如何做一个技术全面的架构师
    如何做一个技术全面的架构师
    最佳实践:阿里云VPC、ECS支持IPv6啦!
    最佳实践:阿里云VPC、ECS支持IPv6啦!
    Windows10中打开git bash闪退解决方案
    webpack打包多入口配置
    Express 文档(常见问题)
    Express 文档(常见问题)
    bzoj1089严格n元树
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2861940.html
Copyright © 2011-2022 走看看