如何提供一个用于检索和更新键,值的接口?

时间:2019-03-13 17:46:49

标签: 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();
}

我不喜欢提供商和交易如何使用类似的API,例如GetValueSetValue

我希望这是一个接口,并且IStorageProviderITransaction是从该接口派生的。你们会推荐什么?

1 个答案:

答案 0 :(得分:1)

我确信您更多地打开了该线程来获得确认,而不是不知道该怎么做。当然可以为这些方法建立一个通用的接口,只要您将其放在正确的项目中并找到合适的名称,我看不出为什么不这样做。