【发布时间】:2013-01-03 20:39:28
【问题描述】:
我目前正在开发一个游戏平台应用程序。我希望能够轻松地向其中添加新游戏,但游戏应遵守特定合同:
- 游戏必须有一些必需的方法
- 他们必须接收一些主程序提供的事件
- 他们必须能够将一些数据发回到程序
- 如果外部开发人员只需了解界面就可以轻松地为平台制作游戏,那就太好了
我阅读了一些问题,例如 MEF 与 MAF,起初我认为 MAF 对我来说更好,但我不确定。另外,我认为我什至可以制作某种自制系统,例如将游戏编译为 DLL 并在运行时检索它们。
MAF 似乎不错,因为 隔离,但由于我并没有真正使用小插件,而且当我阅读时,MAF 很重且缺乏速度,我对应该使用什么有很多疑问。
我是否应该尝试 MAF,即使它可能很慢且难以开发,并且它真的适合我的工作吗?
【问题讨论】:
-
System.AddIn (MAF) 只有在需要隔离和/或版本控制并且您只需要将主机暴露给加载项(Visual Studio 和 MS Office 就是这种情况)时才应考虑据我所知,两者都使用 System.AddIn )。另请注意,您可以通过将 MEF 与 Autofac (nblumhardt.com/2011/01/decorator-support-in-autofac-2-4) 结合使用来进行版本控制。