【问题标题】:In a MVP design pattern, who is responsible for accessing the database在 MVP 设计模式中,谁负责访问数据库
【发布时间】:2014-09-25 17:45:43
【问题描述】:

我有一个关于 MVP 设计模式的问题。

我有一个将所有事件传递给演示者的视图。演示者具有业务逻辑并更新视图。该模型只是JPA entities 的集合。

问题是,谁负责访问数据库和检索模型?

我的第一个想法是,这是演示者的责任。但是,假设在多个页面中需要相同的业务逻辑,例如,验证用户是否有权访问某些内容。在这种情况下,业务逻辑会出现在几个 Presenter 类中,这是不好的。

最好的实现是什么?

【问题讨论】:

    标签: java design-patterns mvp


    【解决方案1】:

    您似乎对MVPMVC 之间的区别感兴趣。请注意,MVP 是经典 MVC 架构的新变体,主要区别在于访问模型的人员(参见 Wikipedia 文章中的不同图表)。

    在经典的 MVC 模式中,View 和 Controller 都可以访问模型,而在 MVP 中只有 Presenter 可以访问。另请注意,在 MVP 中,并非所有业务逻辑都必须位于 Presenter 中。来自 Wikipedia,“视图中允许的逻辑程度因不同的实现而异……视图……可能是处理特定交互或命令的最佳位置。

    您的第二个问题的答案当然是“这取决于您正在实施什么”。如果您认为 MVP 会导致特定应用程序的 Presenter 中出现重复的逻辑,请考虑将一些逻辑移至 View,或考虑切换到 MVC 模式。

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-14
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多