gpt4 book ai didi

java - java中带有规范模式的存储库模式

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:10 25 4
gpt4 key购买 nike

我正在尝试实现存储库模式来查询用户以及与每个用户关联的相应设置。我有一个存储库接口(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 链接来实现,但我迷路了。

https://github.com/patrikfr/specification/blob/master/specification/src/com/granular8/specification/genericspec/Specification.java

请帮忙。

最佳答案

如果您正在查询或需要它来过滤要从某个存储库中删除的对象,那么规范模式会有所帮助,这很好。该模式在 C# 中有一个很好的实现。希望您将其翻译为 Java,因为它已经支持 lambda 表达式。 https://github.com/jnicolau/NSpecifications

关于java - java中带有规范模式的存储库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47093833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com