java如何定义一个好的存储库接口
我有以下情况:
我正在收集主机上的数据。 每个主机都有属性和状态的集合。 而且主人都是成群结队地聚集在一起的
每个组都有一个唯一的ID,每个主机都有一个唯一的ID
所有的组都集中在一个“存储库”中
我目前正在使用以下数据结构:
public class Host {
private final Map<PropertyId, Property> properties;
private final Map<StatusId, Status> statuses;
}
public class Group {
private final Map<HostId, Host> hosts;
}
public class AllGroups {
private final Map<GroupId, Group> groups;
}
目前,它是作为常规内存数据结构实现的 但我需要把这些都保存在数据库里。 我想定义一个好的抽象,它允许我:
- 阅读每一项
- 创建、更新和删除属性和状态的步骤
- 添加和删除主机的步骤
- 删除组
我读了一些关于存储库模式的文章,这似乎是合适的,但我不知道如何正确定义接口
我应该有1个存储库接口吗? 或者我应该为HostRepository、PropertyRepository和StatusRepository提供单独的接口吗
# 1 楼答案
您可以有单独的存储库接口,但这里有一种只使用一个接口的方法
这些类可以很容易地映射到表(或NoSQL数据库中的文档)