首页 > 解决方案 > 如何处理服务层中复杂对象的保存

问题描述

我有一个复杂的对象域对象调用 A。它由 3 个其他对象组成。

public class A { 
  private B bObject;
  private C cObject;
  private D dObject;

  //somes primitive types fields
} 

我有一个对象 A 的服务层。

public class serviceA {
  private RepositoryA repositoryForA;

  //CRUD operations on A
}

对象 B、C、D 有自己的存储库,并且没有服务层。因为他们暂时没有商业逻辑。它们只包含 A 的信息。

为了保存 AI,需要保存所有组合对象 B、C、D,我必须将 B、C、D 存储库注入到 serviceA 类中。

所以我认为这不是一个好主意,因为 AI 上的每个新组合对象都需要在 serviceA 类上注入一个新的存储库。我的 A 对象是复杂的,还是必须这样做?

标签: javaarchitectureclean-architecture

解决方案


不是一个简单的问题。无论如何,我让它变得简单,我还假设 A 和 B、C 和 D 之间存在关系。所以我希望保存 A 并没有保存组成它的对象,在这种情况下 A 的服务层应该关心还有关于他的孩子。


推荐阅读