我有一个用于StructureMap
Dependency Inject的接口。
public interface IFileStorageService
{
void SaveFile(string fileName, byte[] data);
}
界面不关心数据保存在哪里。无论是内存、文件、网络资源、太空卫星……
所以,我有两个实现这个接口的类;一个test class
和一个network file storage class
:-
public class TestFileStorageService : IFileStorageService
{ ... etc ...}
public class NetworkFileStorageService : IFileStorageService
{
public string NetworkUnc { get; set; }
public void SaveFile(...);
}
请注意我NetworkFileStorageService
的财产?该类在其 SaveFile 方法的实现中需要该值。
好吧,我不确定如何定义该属性。
我想我可以在定义我的依赖项的地方硬编码它(例如在我的引导程序方法中 - > ForRequestedType<IFileStorageService>
...等),但最重要的是......业务逻辑定义了位置。它不是静态的。
最后,因为我在逻辑中使用接口,所以这个属性不可用。
任何人都可以帮忙吗?
如果可以,图像要保存两个文件
- 名称:Test1.bin;位置:\server1\folder1
- 名称:Test2.bin;位置:\server1\folder2
干杯!