转《MonoRail Castle Project 1.0 RC3发布》
早就期待着的Castle Project 1.0 RC3终于在开发几乎1年后发布了。从Castle Project网站的通告可以看到,新版本给开发人员带来了很多用于为.NET 2.0 Web应用程序而设计的MVC框架的新特性和增强功能。
InfoQ前不久采访过项目创始人Hamilton Verissimo。这个项目最后的一个版本是2006年11月发布的RC2,由于有1整年没有任何改变,所以现在新版本带来了太多的变化。
更新的功能包括:
ActiveRecord
- 不需要扩展ARBase就能支持多数据集
- 使用新的Castle Validation实现重构验证支持
- InPlaceConfigurationSource.Build()
- 添加HqlNamedQuery
- 大量的错误修正
DynamicProxy
- RC3第一次包含DynamicProxy 2(其支持泛型)
- 比版本1快很多
MicroKernel/Windsor
- 支持泛型集合
- 转而使用DynamicProxy 2
- 添加一些小功能到IKernel和IWindsorContainer的add/resolve方法中
- 子容器支持得以提升,但是依旧需要一些检查——你可能会在编译的时候得到警告
- 添加了一个很简单的计算(Eval)支持,你能进行配置
- DefaultKernel 和 WindsorContainer现在都实现了IServiceProvider
MonoRail
- 添加了缓存(Cache)支持(查看新的Cache属性)
- 添加IsPost/IsGet/IsPut/IsHead到Controller
- 添加自动窗体验证(Auto Form Validation)
- FormHelper接近完美,依然缺乏多条选择的支持
- 支持一次注册多个视图引擎(可以和混合视图引擎说拜拜了)——但是还不够好,在内部还有很多不协调的情况
- 添加了少量视图组件
- 添加测试控制器、视图组件、向导的支持,而无须使用ASP.NET
- 添加了JS生成器支持,及UpdatePage/UpdatePageTag视图组件
- Format支持set操作,例如$Form.Select(”price”, [1..100], “”)是用货币格式来显示选择的元素
- 添加PaginationHelper.CreateCustomPage,其是处理分页最优化的方式
- 添加DiggStylePagination视图组件,基于Alex Henderson运作
- 添加了如下成员到SmartDispatcherController(和验证有关):ValidationSummaryPerInstance : IDictionary、GetErrorSummary(对象实例) : ErrorSummary、HasValidationError(对象实例) : bool
- 添加ViewComponentDetails属性(就像ControllerDetails)
- 添加ViewComponentParam属性,它可以告知MonoRail把参数作为属性绑定到你的视图组件上——减少了重复的代码规则
- 添加UrlHelper/UrlBuilder概念
Aspect#
- 已经发布
组件
- 添加Castle.Validator
- 添加Castle.DictionaryAdapter——对这个特性还有点拿不准
- 加强了Binder(这是它的实现的另外一种重写代码)
其他
- 创建了using.castleproject.org
- 创建了api.castleproject.org
- 在Castle.Services.Transaction和微软System.Transactions之间进行了初步集成
- 创建了Castle.Core命名空间
http://www.cnblogs.com/yuanws/archive/2007/10/09/918430.html