目前,我们正在使用带有Model-View-Presenter(MVP)架构的经典ASP.NET WebForms项目。我们公司希望采用基于RESTful API在应用程序之间共享数据的通用方法。因此,我们正在寻找将MVP架构转换为WebAPI项目的方法。演示者中有相当多的代码,将代码移动到另一层需要很长时间。我们正在寻找一种转换为基于WebAPI的架构的好方法。
现在,.aspx页面与后面的代码和演示者层之间存在强大的绑定。一个想法是在Presenter和View之间再放一层。这样我们就可以用更现代的页面替换旧的.aspx。如,
模型
演示者
旧视图| WebAPI图层新视图
这是个好主意吗?我们希望听到您对此计划的意见。有什么陷阱?有更好的想法吗?任何经历?
也许这个问题不适合stackoverflow,因为它更像是一个讨论请求。如果是的话,欢迎提出更好的地方建议。
答案 0 :(得分:1)
问题是Presenter, or Supervising Controller 无法很好地映射到REST模型,因为它们具有与之关联的状态和操作。
实际上,与您的演示者相比,WebAPI图层与您的存储库图层的关系更紧密。
客户端上将存在Presenter,而不是服务器上存在的。
我的建议不是走这条试图将两者混合在一起的道路。 总是存在巨大的阻抗不匹配,最终会得到一个对其他客户端无用的API。特别是如果您想转向更现代的移动/ Web应用程序架构。