在工作中,我们正在使用一种“设计模式”,我在GoF书中并没有找到它(但这可能是由于我在这方面缺乏能力,我只是浏览了一下模式),而且我仍然有些怀疑。
假设我们有一个多项目解决方案,其中包含一个名为DataAccess的项目,该项目管理数据访问。通常情况下,我看到它的结构如下:
Providers (Folder)
- DataAccessProvider.cs
Interfaces (Folder)
- IFileLoader.cs
Implementors (Folder)
- FileLoader.cs
在这里,FileLoader
将是接口 IFileLoader
的一个 internal
实现,提供程序如下:
public static class DataAccessProvider
{
public static IFileLoader FileLoader
{
get { return new FileLoader(); }
}
}
这是什么类型的设计模式(如果有),除了遮盖特定的
IFileLoader
接口实现,它还有哪些真正的用途?此外,这样写真的算是“好风格”吗?举个例子,如果有很多类似的调用会发生什么?
string content = DataAccessProvider.FileLoader.LoadContentFromFile("abc.txt");
每当需要调用 new FileLoader()
时,这样做会比较繁琐。有没有更优雅的方式实现类似的功能呢?