我有以下情况:
我在收集主机数据。每个主机都有属性和状态的集合,并且这些主机被归为组。
每个组都有唯一的ID,每个主机也有唯一的ID。
所有组都被汇聚到一个单一的“存储库”中。
我目前正在使用以下数据结构:
我在收集主机数据。每个主机都有属性和状态的集合,并且这些主机被归为组。
每个组都有唯一的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;
}
这目前是一个常规的内存数据结构实现,但我需要将所有内容保存在数据库中。
我想定义一个良好的抽象来允许:
- 读取每个条目
- 创建、更新和删除属性和状态
- 添加和删除主机
- 删除组
我阅读了一些有关存储库模式的文章,它似乎很合适,但我无法确定如何正确地定义接口。
我应该拥有一个存储库接口吗?还是应该为HostRepository、PropertyRepository、StatusReporitory等拥有单独的接口?