0

我有一个问题问你。

我有一个六边形架构的 .NetCore 项目。在我的存储库类中,我填写我的域类,它的名称是公司,并且有两个属性:Id 和 Logo。

我的存储库返回 de Id 和徽标名称,但不是所有 url 路径,所以我想设置 logo 属性,将我的图像路径 url 放在 de 名称之前,例如http://example.com/imageName.jpg

所以我的问题是,在六边形架构中,设置此属性的最佳实践在哪里?

现在,在我的控制器中,我创建了一个 DataModel,它为构造函数传递了我的域类,并在模型内部构建了图像徽标 url。

那么,您认为这是最好的方法吗?

谢谢!

4

2 回答 2

0

知道如何存储和检索诸如 blob 之类的资源当然是基础设施层的责任,但就像存储库一样,此类服务的接口可能存在于域中。

如果您有一个干净的应用程序服务层,那么我会将 URI 解析(通过域服务)作为控制器使用的 DTO 响应的一部分放在那里,但是如果控制器层充当应用程序服务层,那么它将去那里.

于 2020-05-17T23:55:50.223 回答
0

我会这样做;

  • 域概念“公司的标志”是图像,而不是图像的名称。

  • 如果您有一个用于持久化公司对象的驱动端口,那么从存储设备(例如数据库)存储/检索徽标是适配器(基础设施)的工作。

  • 如果你想通过 web 向客户端提供图像,带有一个 url,那也是基础设施,驱动适配器的工作,一个处理 http 的控制器。

于 2020-05-18T20:19:30.237 回答