c#

位置:IT落伍者 >> c# >> 浏览文章

Castle在“新.NET时代”将何去何从


发布日期:2018年02月18日
 
Castle在“新.NET时代”将何去何从

国内的NET开发人员相信对于Castle都不会陌生Castle是针对NET平台下的一个非常优秀的开源项目从数据访问框架 ORM到依赖注入容器再到WEB层的MVC框架AOP基本包括了整个开发过程中的所有东西为我们快速的构建企业级的应用程序提供了很好的服务Castle在历经好几年经过了个RC版本之后终于要发布版本了

笔者对于Castle项目的研究也有很长一段时间也写过大量的Castle的文章但是随着微软NET时代的到来Castle项目将会面临一些尴尬如何找到自己的定位后续如何发展是Castle项目作者不得不考虑的一个问题

数据访问ActiveRecord

Castle中的ActiveRecord是一个轻量级的ORM组件它在底层封装了NHibernateNHibernate是一个基于Net用于关系数据库的对象持久化类库它是着名的Hibernate的Net版本采用xml配置文件进行关系的映射在ActiveRecord中则对这种方式进行了进一步的封装采用特性(Attribute)的方式进行映射随着微软在NET Framework 中推出了自己的轻量级ORM——LINQ to SQL ActiveRecord的处境变得有些尴尬尽管有人会说LINQ to SQL目前只支持SQL Server是的但是LINQ强大的扩展性相信大家都看到了吧现在LINQ对Oracle数据库的接口已经开放所以这点在不远的将来一定会得到解决在微软的实体框架发布时对Oracle数据库的LINQ支持一定没问题

MVC框架MonoRail

年的时候微软发布了ASPNET Extentions的第一个CTP版本其中最引人瞩目就是ASPNET MVC Framework在这之前Castle中的MonoRail可以说是NET平台下最为着名的MVC框架由于ASPNET MVC Framework的出现NET开发界引起了一场诸如为什么会出现ASPNET平台下的MVC框架MS MVC框架漩涡中的MonoRail未来等的讨论的确在微软ASPNET MVC Framework之后MonoRail处于一个进退两难的境地Hamilton也说MonoRail 最终结果如何取决于MS MVC框架的实现如果最终的MS MVC非常棒并且提供了很多功能我会考虑放弃MonoRail 如果MS MVC最终版不是那么完美缺少了必须实现的功能那么MonoRail 可以复用MS MVC的基础架构以提供一些有价值的扩展但是有一点毋庸置疑那就是ASPNET MVC Framework拥有的观众数量将是MonoRail无法达到的?

依赖注入容器Windsor Container

Windsor Container在Castle中的地位举足轻重相信有很多朋友都是通过它才开始学习Castle的Windsor Container以其良好的设计简洁的配置很快赢得了开发者的口碑正当Castle经过了个RC版本准备发布正式版时微软模式与实践团队在其团队博客中公布了微软依赖注入容器的开发计划命名为Unity并且将会把其他个应用程序块都移植到Unity之上这对于Castle来说无疑又是一个晴天霹雳虽然在模式与实践团队目前发布的Unity CTP版本中我们看到它的设计有些还是非常的丑陋如构造函数注入和属性注入等但是有一点我们不得不承认只要是微软官方发布的产品NET开发者都会去用而且拥护程度远远超过开源项目

结束语

过不了多久Castle将会发布版本了在微软LINQASPNET MVC FrameworkUnity等产品的重重包围Castle能够找到一条自己的出路在新发布的版本中将会给我们带来怎样的惊喜让我们拭目以待吧

上一篇:.NET家族新成员:G#语言简介

下一篇:用VC.NET制作启动屏幕的新方法