当前位置: 首页 > 知识库问答 >
问题:

将代码放入持久层或域层[关闭]

史钊
2023-03-14

我有一个名为UserStore的nuget-package,这是一个获取用户的API。

我的问题很简单:我是否应该在持久性层安装这个nuGet包,并创建一个名为UserPersistanceService的持久性服务,因为它可以被视为“数据源”。 或者将它安装在域层并在那里的服务中使用它是“可以的”吗?

API的使用方式如下:

private readonly IEServiceServices _eServiceHttpClient;

public BoughtServicesService(IEServiceServices eServiceHttpClient)
{
    _eServiceHttpClient = eServiceHttpClient;
}

public async Task<IEnumerable<IUserInfo>> GetUsers(CancellationToken ct)
{
    var allServicesForUsers = await _eServiceHttpClient.GetActiveServices(ct);

    var enabledServices = await _eServiceHttpClient.GetEnabledServices(ct);

    return allServicesForUsers.ToInfoList(enabledServices); // Extension method
}

如您所见,我有一个扩展方法将数据类型从API转换为DTO。 在域层中有此代码可以吗? 这里什么是最佳实践?

Im使用如下典型的分层体系结构:应用层,域层,持久层,

共有1个答案

穆英飙
2023-03-14

正确的答案是把它放在组织中其他人把类似服务放在同一个地方。

就我个人而言,我只在负责数据访问部分时才将持久性内容放入持久性项目中。 当我调用外部API时,我把代码放在业务层(也就是我们所说的域层)。 更确切地说:我把它放在一个名为proxies的文件夹/名称空间中。

但你可以做你想做的。 只要你始终如一,让下一个做这件事的人知道它到底是什么或者去哪里找它。

 类似资料:
  • 名称 方法 实现 Hibernate 优势 劣势 Mybaties Jpa get 1. Hibernate 1.1 单独使用 1.1.1 For Idea 新建项目:【File】——>【New】——>【Project】——>【Java】——>【Hibernate、JavaEE Persistence】 添加数据连接驱动 配置数据源 根据数据库表生成实体类:【Persistence】——>【名称】

  • 我是微服务架构的初学者,我在很多博客中读到过,在微服务架构中,每个微服务都必须有自己的数据库。在我的情况下,它可能花费非常昂贵。 我的问题是,有没有可能使持久层本身成为微服务?这将具有允许其他微服务对数据库具有读/写访问权限的功能。谢谢

  • 上次用JBoss 7.1 (Java EE6标准)开发app,用DAOs写了持久层。 首先,我有一个“抽象”的道,它是所有具体道的父亲: 然后,我的域中的每个DB实体都有一个dao实现。 它们都非常相似,它们只是为比通常的“crud”操作更复杂的查询添加方法。 下面是一个示例: 如您所见,我的Dao是无状态EJB。 这种方式使我的应用程序工作,但...当我必须创建一个新的实体时,我必须创建实体本身

  • 链接 实体 值对象 仓储 领域服务 工作单元 领域事件 数据过滤器 规约模式

  • 本文向大家介绍JavaScript拖动层Div代码,包括了JavaScript拖动层Div代码的使用技巧和注意事项,需要的朋友参考一下 效果图:(灰色区域可拖动) 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • Embedding层 Embedding层只能作为模型的第一层。 较为费劲的就是第一句话: 嵌入层将正整数(下标)转换为具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]] 哪到底咋转啊,亲? 这涉及到词向量,具体看可以参考Word2vec 上图的流程是把文章的单词使用词向量来表示。 (1)提取文章所有的单词,把其按其出现的次数降许(这里只取前50000个)

  • 3.6 ABP领域层 - 领域事件 在C#中,一个类可以定义其专属的事件并且其它类可以注册该事件并监听,当事件被触发时可以获得事件通知。这对于对于桌面应用程序或独立的Windows Service来说非常有用。但是, 对于Web应用程序来说会有点问题,因为对象是根据请求(request)被创建并且它们的生命周期都很短暂。我们很难注册其它类别的事件。同样地,直接注册其它类别的事件也造成了类之间的耦合

  • 3.4 ABP领域层 - 领域服务 3.4.1 简介 领域服务(或者服务,在DDD模式中)是被用来执行领域操作或者业务规则的。Eric Evans 在他的DDD书中这样说过:一个好的Service应该有以下三个特征: 与领域概念相关的操作不是Entity或Value Object 的一个自然部分; 接口是根据领域模型的其它元素定义的; 操作是无状态的。 领域服务和Application Servi