【问题标题】:Ports and Adapters – Should interfaces specify arguments as domain objects?端口和适配器——接口是否应该将参数指定为域对象?
【发布时间】:2021-09-20 22:53:38
【问题描述】:

当指定一个端口时,该接口是否应该根据域对象来定义它的参数,例如

interface AddUser {
  firstName: FirstName
  lastName: LastName
}

以及简单或“普通”类型,例如

interface AddUser {
  firstName: string
  lastName: string
}

我的第一个想法是,将它们定义为域对象意味着如果域模型发生更改,实现适配器将不得不更改。但是实现适配器必须不管如何定义接口的参数,即使参数是“普通类型”,不是吗?使用“普通类型”只是意味着我必须将传入的参数解析为域类型。

但是,使用域类型意味着当我将数据传递到端口时,我知道数据的格式是正确的。它也没有违反依赖关系应该向内的想法。

【问题讨论】:

    标签: hexagonal-architecture


    【解决方案1】:

    端口和适配器没有说明如何定义 API。您是否希望应用程序向外界公开域对象取决于您。

    【讨论】:

    • 好的,所以这更像是一个关于应用程序边界和界面的问题,不是吗?
    • 是的,这是一个关于您向外界公开了多少您的领域知识的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2018-09-27
    • 2011-01-22
    • 2020-08-24
    • 1970-01-01
    • 2012-03-01
    • 2011-05-03
    相关资源
    最近更新 更多