我正在尝试实现存储库模式来查询用户以及与每个用户关联的相应设置。我有一个存储库接口(interface),其中包含每个存储库要实现的增删改查操作。
import java.util.List;
public interface Repository<T> {
void add(T item);
void add(Iterable<T> items);
void update(T item);
void remove(T item);
void remove(Specification specification);
List<T> query(Specification specification);
}
我正在阅读规范模式,但我不明白如何将这个概念应用到我的用例中。
我有两个实现 Repository 接口(interface)的存储库。我的类将具有以下操作,这些操作将转换为界面中提到的增删改查操作
GetSettingsForUserIDMatchingSettingName(string userid, string settingname);
CreateSettingForProfile(string userid, Setting setting);
Create(string userid, Setting setting);
Update(string userid, Setting setting);
GetAllProfiles();
GetProfilesMatchingUserID(string userid);
GetSettingsForUserID(string userid);
GetProfilesForUserIDWithSettingName(string userid, string settingname);
如何创建我的规范类或接口(interface),以便我的规范满足所有用例。
我引用了下面的 github 链接来实现,但我迷路了。
请帮忙。
最佳答案
如果您正在查询或需要它来过滤要从某个存储库中删除的对象,那么规范模式会有所帮助,这很好。该模式在 C# 中有一个很好的实现。希望您将其翻译为 Java,因为它已经支持 lambda 表达式。 https://github.com/jnicolau/NSpecifications
关于java - java中带有规范模式的存储库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093833/