技术开发 频道

ASP.NET上的另一个MVC实现

  在FubuMVC中,行为的实现方式实际上是装饰模式和职责链模式的混合体。

  行为对请求管道拥有完全控制权,它可以添加或修改请求,动态选择需要执行的action以及是否要执行action,它可以修改或者完全替换action的输出结果,并且可以在完成请求处理后执行一些代码。实际上,生成显示结果本身也是一个行为。FubuMVC使用行为本身来实现基本的功能,这些基本功能和行为可以根据需要被替换或修改。

  Mark Nijhof在他的文章FubuMVC and the Front Controller style framework中展示了这个管道:

 

  Chad说,“行为开启了在其他框架中难以实现的可能”:

  ·将整个请求包装在try/catch/finally块中的能力
  ·多级缓存的能力
  ·根据运行时环境或请求时间,动态决定执行哪个action的能力

  MVC模式的另一个方面,是使得开发人员可以对传统意义上无法进行测试的UI部分进行单元测试。Chad描述了微软是如何实现这一点的:

0
相关文章