以希望在您的 ASP.NET MVC 网站的每个页面上都有一个“最新新闻项目”侧边栏为例。我有一个 NewsItemController,它适用于专注于 NewsItems 的页面。让新闻侧边栏出现在主页的 HomeController 上怎么样?或者任何其他控制器?
我的第一直觉是将选择前 5 个 NewsItems 的逻辑放在用户控件中,然后在母版页中调用该控件。这样,每个页面都会获得一个新闻侧边栏,而不必用 NewsItem 逻辑污染任何其他控制器。这意味着将逻辑放入我所理解的表示层中,该表示层通常会放入控制器中。
我可以想到大约六种不同的方法来处理它,但就关注点分离和其他相关流行语而言,它们似乎都不“正确”。