c# - 如何提供一个接口来检索和更新键、值?
问题描述
我正在为我们的应用程序实现一个持久层,并提出了一个设计,我有一个提供程序,可以让客户端更新单个键值,然后我还有一个事务类,我可以通过它更新多个键值对.
接口是:
public interface IStorageProvider
{
bool GetValue<T>(string key, out T value);
T GetOrCreateValue<T>(string key) where T : new();
bool SetValue<T>(string key, T value);
ITransaction Transaction();
}
public interface ITransaction : IDisposable
{
event EventHandler<TransactionEventArgs> CommitSucceeded;
event EventHandler<TransactionEventArgs> CommitFailed;
bool GetValue<T>(string key, out T value);
bool SetValue<T>(string key, T value);
void Commit();
}
我不喜欢 provider 和 transaction 如何拥有类似的 API,例如GetValue
and SetValue
。
我希望这是一个接口,IStorageProvider
并ITransaction
从中派生。你们会推荐什么?
解决方案
我相信你打开这个帖子更多是为了得到确认,而不是不知道该怎么做。当然,为这些方法制作一个通用接口是可以的,我看不出有什么理由不这样做,只要你把它放在正确的项目中并找到一个合适的名称。
推荐阅读
- javascript - 我有一个不工作的 javascript 函数
- google-cloud-firestore - Firestore 读取模拟失败,没有突出显示的行
- c# - C# 获取 T 的属性的类型
- javascript - 如何从另一种 JSON 格式获取一种 json 对象格式
- reactjs - 在反应中添加单选按钮时面临的问题 - 输入是一个空元素标签,既不能有`children`也不能使用`dangerouslySetInnerHTML`
- java - Java 内存模型顺序一致性与 Leslie Lamport 定义不同吗?
- javascript - 如何在输入框中显示数量的总数
- java - Java 处理 - 使用 text() 但窗口上没有显示任何内容
- assembly - 很少的汇编语法问题和反汇编代码的解释
- php - 如何在 Android TextView 中显示 PHP 内容?