【问题标题】:ASP.NET MVC & Component ArchitectureASP.NET MVC 和组件架构
【发布时间】:2012-11-06 19:21:30
【问题描述】:

我想问的问题一直是asked before,但我还想知道2010年以来的问题:

  1. 如果服务包或 MVC4 改进了故事(尤其是视图)?
  2. 是否有一种技巧可以让“以通常方式”从单独的程序集中访问“添加控制器”向导?
  3. 是否有一种技巧可以让“以通常方式”从单独程序集中的控制器操作中访问“添加视图”向导?

咆哮 这个咆哮不是我问题的一部分,但我觉得它代表了房间里的白象。

在我链接的上述问题中发现的一个回复表明,单独的 MVC 程序集与 MVC“关注点分离”无关。我觉得这个答案有点像说“未来的 C# 版本将不支持程序集之间的交互,因为这种交互与面向对象的关注点分离无关。”

这两种说法在技术上可能都是正确的,但两种说法都忽略了关注点分离适用于不断增加的范围级别。换句话说,它不仅适用于对象或 MVC 级别,还适用于组件架构级别。

换一种说法,仅仅因为 ASP.NET MVC 在对象(或区域)级别支持“关注点分离”,并不意味着故事已经结束。我希望看到微软通过添加“ASP.NET MVC 组件”模板来简化故事,它允许控制器和视图(都带有工作向导)很容易成为单独程序集的一部分。

也许有人已经做了这样的事情?

【问题讨论】:

    标签: .net asp.net-mvc architecture components


    【解决方案1】:

    旁注:包括咆哮在内的任何问题都会被否决,因为它不是很客观。对未来的友好建议:保持问题的客观性。

    是的,确实有一些技巧可以让工具在其他程序集中工作。我这里已经详细描述过了:http://blog.gauffin.org/2012/05/griffin-mvccontrib-the-plugin-system/

    基本上你需要做到以下几点:

    1. 编辑类库的.csproj文件,添加以下内容:<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
    2. 创建一个可以从其他程序集读取视图的VirtualPathProvider
    3. 指示 ASP.NET 构建管理器在查找控制器时包含您的类库。

    .. 或者直接使用我的开源项目 Griffin.MvcContrib.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-26
      • 1970-01-01
      • 2011-02-20
      • 2010-09-25
      • 2013-12-27
      • 2012-05-17
      • 2010-10-06
      • 2010-10-01
      相关资源
      最近更新 更多