您是否为MVP及其变体中的表示层购买了重用故事?

Jih*_*Han 7 mvp model view presentation reusability

除了单元测试的好处,我听到的关于MVP模式的是表示层的可重用性.因此,您将设计一个表示层并将其用于WinForms(丰富)和Web.

我目前正在研究.NET中的Windows窗体应用程序,可能会在将来创建Web UI.但是,当我设计表示层和UI层之间的交互时,我不确定这种可重用性的概念是否值得所有麻烦.我有时觉得自己正在为可能的Web UI"减少"我的演示文稿,当它专门为windows窗体UI设计时可以更多.

那么,有多少人正在获得可重用表示层的好处?在现实世界中,这种可重用性是否会成功?

Ed *_*fer 4

MVC/MVP 的价值实际上在于两种不同的分离。

表示层和模型之间的分离(无论您决定如何实现它们)是除简单系统之外的任何软件设计中更重要的原则之一。如果您的应用程序中有任何业务逻辑或非可视逻辑,您肯定会看到这种分离的好处。

表示层和控制器之间的分离对我来说似乎不太重要。在富客户端应用程序中,您很少会看到这种分离带来的好处;在 Web 前端中,它更为常见(例如,ASP.NET aspx 和代码隐藏或 J2EE jspx 和 servlet)。

也许我没有完全理解您解释 MVP 的方式,但我不会说其中一个好处是表示层的可重用性——相反,我会说主要的好处是模型的可重用性。这也是使用任何 n 层系统的主要好处之一。如果您想扩展和构建新型前端(例如,WinForms、WPF 等),您可以这样做,而无需尝试将所有逻辑从刚刚构建的 Web 应用程序中分离出来。