Castle在“新.NET时代”将何去何从
【IT168分析评论】
国内的.NET开发人员相信对于Castle都不会陌生。Castle是针对.NET平台下的一个非常优秀的开源项目,从数据访问框架 ORM到依赖注入容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务。Castle在历经好几年、经过了3个RC版本之后,终于要发布1.0版本了。
笔者对于Castle项目的研究也有很长一段时间,也写过大量的Castle的文章。但是,随着微软“新.NET时代”的到来,Castle项目将会面临一些尴尬,如何找到自己的定位、后续如何发展是Castle项目作者不得不考虑的一个问题。
1.数据访问ActiveRecord
Castle中的ActiveRecord是一个轻量级的ORM组件,它在底层封装了NHibernate。NHibernate是一个基于.Net,用于关系数据库的对象持久化类库,它是著名的Hibernate的.Net版本,采用xml配置文件进行关系的映射。在ActiveRecord中,则对这种方式进行了进一步的封装,采用特性(Attribute)的方式进行映射。随着微软在.NET Framework 3.5中推出了自己的轻量级ORM——LINQ to SQL, ActiveRecord的处境变得有些尴尬,尽管有人会说LINQ to SQL目前只支持SQL Server,是的,但是LINQ强大的扩展性相信大家都看到了吧,现在LINQ对Oracle数据库的接口已经开放,所以这点在不远的将来一定会得到解决,在微软的实体框架发布时对Oracle数据库的LINQ支持一定没问题。
2.MVC框架MonoRail
在07年的时候微软发布了ASP.NET 3.5 Extentions的第一个CTP版本,其中最引人瞩目就是ASP.NET MVC Framework。在这之前,Castle中的MonoRail可以说是.NET平台下最为著名的MVC框架。由于ASP.NET MVC Framework的出现,在.NET开发界引起了一场诸如“为什么会出现ASP.NET平台下的MVC框架”,“MS MVC框架漩涡中的MonoRail未来”等的讨论。的确,在微软ASP.NET MVC Framework之后,MonoRail处于一个进退两难的境地,Hamilton也说“MonoRail 2.0最终结果如何取决于MS MVC框架的实现。如果最终的MS MVC非常棒,并且提供了很多功能,我会考虑放弃MonoRail 2.0。如果MS MVC最终版不是那么完美,缺少了必须实现的功能,那么MonoRail 2.0可以复用MS MVC的基础架构,以提供一些有价值的扩展”。但是有一点毋庸置疑那就是ASP.NET MVC Framework拥有的观众数量将是MonoRail无法达到的。
0
相关文章