Spring.NET初识

最近参与的ITOO高校平台开发过程中用到了Spring.Net很多东西,IOCAOP等,下面对Spring.Net做一个基本的认识。

什么是Spring.Net

       Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NETJava版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上.

Spring.Net框架

Spring.NET初识_第1张图片

一:spring.core作为整个框架的基础,实现了依赖注入功能。Spring.net的大部分模块都要依赖或扩展该模块。Spring.core的基础是IObjectFactory接口,该接口用一个简单而优雅的方式实现了工厂模式使我们可以无需自行编写singleton类型和众多的服务定位器,并允许将对象配置及其依赖关系与具体的逻辑解耦。改模块中IApplicationContext接口是IObjectFactory的扩展,增加了很多企业级功能,包括使用资源文件进行文本本地化,事件传播和资源装载等。

二:Spring.Aop作为业务对象提供面向方向编程(AOP)的支持。AOP完善了IOC容器的功能,为创建企业应用和使用声明服务奠定了坚实的基础。

三:Spring.WebASP.NET进行了一系列功能扩展,包括对ASP.NET页面进行依赖注入、双向数据绑定、在ASP.NET 1.1使用Master page、以及增强的本地化功能支持等。

四:Spring.Services允许将任意的“普通”对象(意为没有继承任何指定基类型的对象)发布为企业服务(COM+)或远程对象。通过依赖注入和特性元数据覆盖等功能,该模块可使.NETWeb服务获得极大的灵活性。同时也支持Windows后台服务。

五:Spring.Data定义了一个抽象的数据访问层,可以跨越各种数据访问技术(从ADO.NET到各种ORM)进行数据访问。该模块包含一个ADO.NET的抽象层,减少了使用传统ADO.NET进行编码和事务管理时的工作量。

六:Spring.ORM为时下流行的ORM类库提供了一个整合层,其中包含声明式事务管理等诸多功能

个人理解

         在ITOO开发过程中,并没有应用NHibernate,而是应用微软的一款数据持久化的EF(EntityFramework),对于整个ITOO框架,基本可以理解为MVC+Spring.Net+EF,整个框架很类似于java开发中的SSH( struts+spring+hibernate)。其中struts类似于MVC,spring类似于spring.net,hibermate类似于NHibermate,EntityFramwork。

         整个框架的搭建和学习让我对软件工程化理解更加深刻,不同的框架就像是一个又一个的出厂模型,标准化生产,框架的使用可以规范开发,高效开发,而且提高系统的稳定性和扩展性等。对于Spring.NET以及框架的学习才刚刚开始,希望多多结合之前BS甚至是CS,以及设计模式的学习继续联想学习,编制知识网。

        

       

你可能感兴趣的:(spring.net)