【问题标题】:Data types between the Service (Application/Controller) and UI layers服务(应用程序/控制器)和 UI 层之间的数据类型
【发布时间】:2009-05-04 20:34:46
【问题描述】:

考虑以下常见的分层架构:

  • 用户界面
  • 服务/应用程序/控制器
  • 持久性

Service 和 UI 层之间的类型应该是什么?

Service层中方法的返回类型应该是primitives吗?它们可以是领域层的对象吗?

动机: 我们正在建立一个论坛系统。在服务层的某个地方应该有一个像“getForums”这样的方法。我想知道它的返回类型应该是什么 -

  • 是否应该是一些 forumID(原语)的集合 - 我们需要向服务层发出更多调用,以便呈现论坛的主题和描述(使用其 ID)。
  • 是否应该是一些论坛对象的集合(来自域层) - 我们最终可能会得到一个可以直接访问域层的 UI(听起来对我来说真的很糟糕)
  • 应该是一些特制对象的集合(只代表一个论坛的主题、描述和ID)? (听起来代码太多了)

【问题讨论】:

    标签: language-agnostic architecture


    【解决方案1】:

    您可以使用数据传输对象模式:

    http://www.martinfowler.com/eaaCatalog/dataTransferObject.html

    这将在 UI 和服务层之间实现,并且可以根据 UI 所需的数据视图进行定制。

    【讨论】:

    • 谢谢。这实际上是我们最终所做的。原来是一个不错的选择:)
    猜你喜欢
    • 2014-07-07
    • 2013-05-27
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    相关资源
    最近更新 更多