我正在为我们的应用程序实现持久层,并且提出了一个设计,在该设计中,我有一个提供程序,可以让客户端更新单个键,值,然后还有一个事务类,通过该类可以更新多个键,值对。
接口为:
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();
}
我不喜欢提供商和交易如何使用类似的API,例如GetValue
和SetValue
。
我希望这是一个接口,并且IStorageProvider
和ITransaction
是从该接口派生的。你们会推荐什么?
答案 0 :(得分:1)
我确信您更多地打开了该线程来获得确认,而不是不知道该怎么做。当然可以为这些方法建立一个通用的接口,只要您将其放在正确的项目中并找到合适的名称,我看不出为什么不这样做。