业务层关注点分离(用例、服务)

问题描述 投票:0回答:1

假设一开始我有一个要求,即通过向我的

/posts
API 端点发送 post 请求 - 必须创建 post。

为了实现这一点,我创建了一个

PostsUsecases
,将其视为一个为业务场景提供实现的类,并在那里实现了
createPost
方法。

然后,除了

/posts
端点之外,我还得到了实现用户创建流程的新要求(POST
/users
)。在其范围内,应创建用户并应为用户生成默认帖子。

为了实现这一目标,我创建了

UsersUsecases
,创建
createUser
方法,此时我不明白要使用哪个选项:

  1. 在我的
    PostsUsecases.createPost
    方法范围内重用
    UsersUsecases.createUser
    方法?
  2. 创建一个单独的
    PostService
    类(它是基础设施层还是仍然是业务?),在那里实现
    createPost
    行为,然后在
    UsersUsecases
    PostsUsecases
    两个地方使用它。
design-patterns architecture domain-driven-design ddd-repositories service-layer
1个回答
0
投票

理想情况下,您应该为不同的用例创建两种不同的服务,以实现关注点分离,将来您可能会遇到一些更新或验证用户的其他要求,考虑到您应该在业务类中创建的这些点,并为这两个类使用 DI。

希望这可以帮助您。 谢谢

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.