【问题标题】:What package should i use for interfaces which are domain entity methods arguments?对于作为域实体方法参数的接口,我应该使用什么包?
【发布时间】:2021-08-09 12:46:06
【问题描述】:

我有域实体任务(它是做列表应用程序),这个实体有一个方法 saveToFile(),它接受两个参数 - 接口 ToFileSaver 和字符串文件名。我知道这个接口应该放在域层中,它的实现放在基础设施层中,但是我应该为这些包使用什么名称?端口和适配器?

【问题讨论】:

    标签: domain-driven-design clean-architecture


    【解决方案1】:

    实体方法的参数类型通常属于这些实体。因此,我会将它们放在与实体相同的包中。如果它们属于属于另一个域概念的域的其他部分,我只会将它们放在其他包中,例如用户管理。

    如你所说,实现放在外面。

    但您似乎将持久性问题放在域层中。与其给实体一个Task.saveToFile(ToFileSaver) 方法,不如定义一个TaskRepositoy.persist(Task) 方法。

    【讨论】:

    • 保存到文件不是我的持久化方法。我正在使用数据库(Spring Data JPA + H2)。我有服务 SaveTaskToFileService,它通过 id 从 db 获取任务,并从中保存调用方法。
    猜你喜欢
    • 2011-12-08
    • 2011-01-22
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多