摘要:
当使用了MonoRail后发现自己更偏向于使用Front Controllers模式,虽然这模式下缺少了Asp.net服务控件和基于事件驱动的功能,但是功能职责划分更细致明确;于是在WebForm的基础上实现Front Controller模式;实现后发现Controller始终依赖于Page或HttpContext对象才能进行功能处理,这样Controller除了职责不明确外还导致和Page偶合性太高。为了让Controller不关注Asp.Net相关特性,专注于逻辑的处理于是想出了以下改进方法。
1) 隔离Page和Controller,将Controller的处理信息依赖于接口,接口本身定义并不包含任何Asp.Net相关特别性描述。
2) 建立上下文容器进行接口实例的切入,让开发者不用关心接口信息的来源。
3) 接口成员信息自动绑定。
阅读全文