用于文件存储/加密的WCF服务设计模式

时间:2015-04-17 14:21:25

标签: c# wcf design-patterns

我正在启动一个项目,需要通过WCf服务获取文档(pdf,jpeg等)并将其存储在加密位置。

我的问题是基础课程布局/设计之一。

我的目的是让WCF服务函数(SaveDocument)创建一个处理加密/保存的工作类。加密/保存都需要改变以便将来验证,即改变加密方法或如何/在何处保存数据(DB /文件)。我的设计是否有意义: -

class DocumentManager
{
    private IEncryptionService encrypt;
    private IStoreService store;

    private Document doc;

    public DocumentManager(Document _doc)
    {
        encrypt = new XXXEncryptionService();
        store = new FileStoreService();
        doc = _doc;
    }

    public bool Save()
    {
        byte[] data = encrypt.Encrypt(doc.data);
        return store.Save(data);
    }
}

class IEncryptionService
{
    public byte[] Encrypt(byte[] stream);
    public byte[] Decrypt(byte[] stream);
}

class IStoreManager
{
    public bool Save(byte[] stream);       
}

接口的DocumentManager类有什么用处吗?我认为这对单元测试有帮助吗?还有其他建议吗?

非常感谢

0 个答案:

没有答案