企业级应用架构(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层做业务的处理。
开发架构: