欢迎来到天天文库
浏览记录
ID:14335983
大小:89.50 KB
页数:69页
时间:2018-07-28
《dotnet使用spring技术(一种java框架)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.net企业级架构实战之1——框架综述spring.net是java下大名鼎鼎的spring框架移植到.net的开源项目,且借助于.net强大的反射机制,甚至拥有比原java版本更强大的功能。那它能用来做什么呢?核心功能就是IOC和AOP:IOC(InversionofControl),字面意思为“反转控制”,我更倾向于理解为“依赖注入”,意思就是说:在基于接口开发的情况下,我们会对需要的业务处理对象(数据访问,业务逻辑等)一一做上接口,前端使用时只是对接口的调用,而并不关心具体是什么类具体去实现了这个接口~听起来似乎不可能,是的,如
2、果没有IOC,这是不可能的事情,我们的前端逻辑和后端实现是紧紧耦合的,做页面开发的人必须知道哪一个类(.cs文件)拥有哪些方法,即便是基于接口,我们也依然要在程序里去实例化它,形如:1.IManagermgr=newDataManager();复制代码无形中,基于接口开发成了鸡肋,前端开发人员几乎要知道一条龙的编码流程才能做业务开发!(当然,有的项目就是一个人在做)好吧,那就使用IOC,它是怎么解开这个耦合关系的?IOC框架一般会维护一个配置文件,它大概要完成的使命是:1、将实现接口的对象进行列表,表示它们是被页面需要的;2、把页面的
3、以基于URL的形式进行列表,表示它们是需求方。余下的事情,是框架来进行协调,在页面上声明一下某一个接口的对象,在它需要实例化时,IOC框架会自动将对应的接口实现进行注入。如下就是一个Spring.net的配置范例片断:1. 2. 3.4. 5. 4、t.aspx"autowire="byName"/>复制代码再看看页面里的声明和调用片断:1.usingSystem;1.usingSystem.Data;2.usingSystem.Configuration;3.usingSystem.Collections.Generic;4.usingSystem.Web;5.usingSystem.Web.Security;6.usingSystem.Web.UI;7.usingSystem.Web.UI.WebControls;8.usingSystem.Web.UI.WebControl5、s.WebParts;9.usingSystem.Web.UI.HtmlControls;10.usingSystem.Text;11.usingwoodigg.model;12.usingwoodigg.Interface.DAO;13.usingwoodigg.bll.Tool;14.usingSpring.Context;15.usingSpring.Context.Support;16.17.publicpartialclassAdmin_Artist_MgrArt:AdminPage18.{19. #region注入对象26、0. privateIArtistDAO_ArtistDaoSpring;21. publicIArtistDAOArtistDaoSpring22. {23. get{return_ArtistDaoSpring;}24. set{_ArtistDaoSpring=value;}25. }26. #endregion27.28. protectedvoidPage_Load(objectsender,EventArgse)29. {30. GridView1.DataSource=ArtistDaoSp7、ring.GetAllArtists();31. GridView1.DataBind();32. }1.}复制代码如果是初次接触IOC,可能理解起来会有些生涩,毕竟是个基于配置的框架,有些东西需要深入了解,这个以后可以一步步探个究竟。OK,接着就是AOP。那么AOP又是做什么的呢?AspectOrientedProgramming,字面意思即为“面向切面的编程”。Aspect,就是切面,代表了我们很多项目中重复开发的模块,如邮件功能,日志功能等。说起来是会让人很颓废的,我们花费在重复劳动上的时间,有时太多了。这个项目写日志,下8、一个还写日志,日志有区别吗?答案是没有,但它就是需要,哪怕是复制粘贴,还是需要!被需要当然是好事,说明它存在的价值,但能否把这样的东西做成一个组件,以后拿来就用,并且与新的项目系统人我两不犯,无缝集成?当然是可以的,AO
4、t.aspx"autowire="byName"/>复制代码再看看页面里的声明和调用片断:1.usingSystem;1.usingSystem.Data;2.usingSystem.Configuration;3.usingSystem.Collections.Generic;4.usingSystem.Web;5.usingSystem.Web.Security;6.usingSystem.Web.UI;7.usingSystem.Web.UI.WebControls;8.usingSystem.Web.UI.WebControl
5、s.WebParts;9.usingSystem.Web.UI.HtmlControls;10.usingSystem.Text;11.usingwoodigg.model;12.usingwoodigg.Interface.DAO;13.usingwoodigg.bll.Tool;14.usingSpring.Context;15.usingSpring.Context.Support;16.17.publicpartialclassAdmin_Artist_MgrArt:AdminPage18.{19. #region注入对象2
6、0. privateIArtistDAO_ArtistDaoSpring;21. publicIArtistDAOArtistDaoSpring22. {23. get{return_ArtistDaoSpring;}24. set{_ArtistDaoSpring=value;}25. }26. #endregion27.28. protectedvoidPage_Load(objectsender,EventArgse)29. {30. GridView1.DataSource=ArtistDaoSp
7、ring.GetAllArtists();31. GridView1.DataBind();32. }1.}复制代码如果是初次接触IOC,可能理解起来会有些生涩,毕竟是个基于配置的框架,有些东西需要深入了解,这个以后可以一步步探个究竟。OK,接着就是AOP。那么AOP又是做什么的呢?AspectOrientedProgramming,字面意思即为“面向切面的编程”。Aspect,就是切面,代表了我们很多项目中重复开发的模块,如邮件功能,日志功能等。说起来是会让人很颓废的,我们花费在重复劳动上的时间,有时太多了。这个项目写日志,下
8、一个还写日志,日志有区别吗?答案是没有,但它就是需要,哪怕是复制粘贴,还是需要!被需要当然是好事,说明它存在的价值,但能否把这样的东西做成一个组件,以后拿来就用,并且与新的项目系统人我两不犯,无缝集成?当然是可以的,AO
此文档下载收益归作者所有