【发布时间】:2015-12-24 10:19:37
【问题描述】:
我已经实施了两次这样的架构,所以还没有实现它所带来的真正收益。
我得到的只是 View 的代码,在两个地方分开。大多数方法都包含 getView().* 之类的代码行 此外,至少还有两个附加实体:类 *Presenter 和接口 *UiHandler
我有什么问题吗?
【问题讨论】:
标签: design-patterns gwt mvp gwtp conceptual
我已经实施了两次这样的架构,所以还没有实现它所带来的真正收益。
我得到的只是 View 的代码,在两个地方分开。大多数方法都包含 getView().* 之类的代码行 此外,至少还有两个附加实体:类 *Presenter 和接口 *UiHandler
我有什么问题吗?
【问题讨论】:
标签: design-patterns gwt mvp gwtp conceptual
我不能谈论 GTWP,但 MVP Pattern (wiki link) 通常有一个“模型”(您的数据)、一个“视图”(UI 等)和一个“演示者”(将两者绑定在一起的逻辑.)(你知道的)
MVP 是一种用户界面架构模式,旨在促进 自动化单元测试和改进关注点分离 表示逻辑:
分离这些关注点并允许自动化单元测试是 MVP 的亮点。您可以在 Presenter 中存根并测试模型和视图。这允许您以更 TDD 的方式开发它们。特别是因为您应该已经在所有组件之间定义了明确的接口。
另一个好处是您可以轻松地“交换”视图 impl。只要他们暗示。界面正常。
因此,如果您将 MVP 设计为“视图”只有 UI 部分,而“模型”有数据部分,那么“演示者”只需具有可以“忽略”的逻辑部分视图和模型实现的“细节”。
【讨论】:
app lib,实现是 app-android 和 @ 987654324@(有时甚至更多,如 CLI、Swing、JavaFX)仅指定目标平台上的视图并仅引导具体的应用程序生命周期。