Web客户端软件工厂(WCSF)和智能客户端软件工厂(SCSF)都使用MVP模式。
M -Model 可以共享。
V -View 必须不同,因为两者都在不同的平台(桌面/Web)上。
我想知道P -Presenter 是否可以共享,或者我是否可以两者以及如何共享。
一般来说,不,这不是模式的工作方式。Model 是可重用的部分,V + C/P 的组合构成了应用层,因此根据定义是特定于应用程序的。
如果您的 Presenters 中的逻辑看起来应该可以在不同的应用程序中重用,那么您应该看看如何将其下推到您的领域层,并使其成为您模型的一部分。
这是关于该主题的最佳文章之一。
在大多数情况下,我同意sliderhouserules。演示者根据业务规则操作 UI 组件,因此将在一定程度上针对 UI 平台特定于平台。据我了解,您希望通过两个不同的 UI 平台显示相同的应用程序。尽管此应用的业务规则可能在两个平台上保持相同,但 UI 呈现方式会有所不同。
因此,也许您应该考虑创建一个共享库,您的演示者制定的通用业务逻辑可以在每个应用程序的特定于 UI 的演示代码中重用。我认为这可以大大减少特定于平台的代码。