【问题标题】:Why should I use MVP pattern in GWTP application?为什么要在 GWTP 应用程序中使用 MVP 模式?
【发布时间】:2015-12-24 10:19:37
【问题描述】:

我已经实施了两次这样的架构,所以还没有实现它所带来的真正收益。

我得到的只是 View 的代码,在两个地方分开。大多数方法都包含 getView().* 之类的代码行 此外,至少还有两个附加实体:类 *Presenter 和接口 *UiHandler

我有什么问题吗?

【问题讨论】:

    标签: design-patterns gwt mvp gwtp conceptual


    【解决方案1】:

    我不能谈论 GTWP,但 MVP Pattern (wiki link) 通常有一个“模型”(您的数据)、一个“视图”(UI 等)和一个“演示者”(将两者绑定在一起的逻辑.)(你知道的)

    MVP 是一种用户界面架构模式,旨在促进 自动化单元测试和改进关注点分离 表示逻辑:

    分离这些关注点并允许自动化单元测试是 MVP 的亮点。您可以在 Presenter 中存根并测试模型和视图。这允许您以更 TDD 的方式开发它们。特别是因为您应该已经在所有组件之间定义了明确的接口。

    另一个好处是您可以轻松地“交换”视图 impl。只要他们暗示。界面正常。

    因此,如果您将 MVP 设计为“视图”只有 UI 部分,而“模型”有数据部分,那么“演示者”只需具有可以“忽略”的逻辑部分视图和模型实现的“细节”。

    【讨论】:

    • 我经常做的就是写model/presenter,把view留给别人……让那些“艺术”的人“把事情做好”,呵呵。
    • 此外,MVP 允许您摆脱视图实现细节并为模型和演示者实现与平台无关的业务逻辑。例如,我实现了一个应用程序,它可以在 Android 和 GWT 上使用相同的业务逻辑(即使在两个平台上都使用 Java 8):核心通常是 app lib,实现是 app-android 和 @ 987654324@(有时甚至更多,如 CLI、Swing、JavaFX)仅指定目标平台上的视图并仅引导具体的应用程序生命周期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2011-06-05
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多