我刚刚开始一个新的 ASP.NET 项目并使用 MVP 模式。我确实考虑过 MS MVC,但它还没有发布,对于团队中的一些人来说将是一个很大的学习曲线,所以我现在选择了 MVP,并且可能选择了未来的项目 MVC。
无论如何,似乎我将为每个我拥有它的项目的网络表单提供一个 Controller/Presenter 类。这是很多额外的类,本质上是使 web 项目中的文件数量增加了一倍。这是其他人如何构建 MVP 还是有什么替代方案?
我刚刚开始一个新的 ASP.NET 项目并使用 MVP 模式。我确实考虑过 MS MVC,但它还没有发布,对于团队中的一些人来说将是一个很大的学习曲线,所以我现在选择了 MVP,并且可能选择了未来的项目 MVC。
无论如何,似乎我将为每个我拥有它的项目的网络表单提供一个 Controller/Presenter 类。这是很多额外的类,本质上是使 web 项目中的文件数量增加了一倍。这是其他人如何构建 MVP 还是有什么替代方案?
这似乎是一个常见的误解->“更多文件/类==更复杂”
我们选择遵循 UI 分离模式的原因是为了帮助分离关注点,使代码更容易、更便宜地更改和维护,并且(大、重要和)我们可以对复杂部分进行单元测试,并且仍然保持 UI 层纤薄。
我将使用 beta ASP MVC。原因是,虽然它仍然只是一个测试版(PDC 很快,这可能会对发布产生影响,我们已经发布了 5 个预览版),但它有一个更好的框架来支持这种风格,而不是我可以在合理的时间内编写框架。
您当然可以使用其他框架,例如城堡单轨列车。
我认为这在很大程度上取决于,但在大多数情况下,这确实是最终的结果。
我个人使用带有数据、业务、演示代码的 n 层架构。(谁知道我遵循什么实际格式)。我确实得到了比我在 aspx 中做所有事情时更多的文件,但是代码更容易管理。
对于您的问题-我已经看到了许多对 MVP 的不同看法,但没有看到任何减少文件数量的方法,而且我想不出减少文件数量的方法。
根据我的经验,我重用了视图接口,甚至是视图结构相同但呈现不同数据的代码隐藏。您还可以考虑在适用的情况下重用控制器。
我认为值得注意的是,拥有更多文件将是转向更敏捷和测试驱动开发的自然结果,开发人员会发现它越来越自然。(就像我们中的一些人发现在单个文件中有很多方法很自然......)