我正在启动一个项目,需要通过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类有什么用处吗?我认为这对单元测试有帮助吗?还有其他建议吗?
非常感谢