【发布时间】:2014-04-08 08:48:42
【问题描述】:
我正在研究应用程序架构,我面临一个大问题。 该应用程序非常简单,它接收一个文件,应用程序应用语法验证,解析,......和其他东西。 我们可以有不同类型的文件(例如:File1.xx、File2.yy),每种文件类型都有一个特定的语法验证和解析实现。 主要限制是要有一个通用且易于扩展的应用程序(可以扩展托管文件的类型)。
这就是为什么我想像这样的事情:
一个接口 "IFileProcessor" 我有 2 个方法(或更多) -bool IsSytaxValid(文件 f) -字符串解析(...)
在应用程序中我应该有类似的东西:
**// For a current File F1
IFileProcessor fileProcessor;
if (fileProcessor.IsSyntaxtValid(){
fileProcessor.Parse();
}else
{
bla bla bla
}**
我想要一个 File1.xx 的插件,另一个来自 File2.yy(我在其中实现 IFileProcessor 接口的 2 个 dll)。 处理实现,根据当前文件类型,动态加载。
我对 Unity 和 MEF 有基本的了解,我知道我的问题是由这些框架管理的。
问题是,哪种解决方案最能解决我的问题,我该怎么做?
提前感谢您的帮助。
【问题讨论】:
标签: c# generics dynamic unity-container mef