首页 > 解决方案 > 对于作为域实体方法参数的接口,我应该使用什么包?

问题描述

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

标签: domain-driven-designclean-architecture

解决方案


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

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

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


推荐阅读