我有一个包含2个主要组件+其他DLL的应用程序:
现在我正在实施插件支持。
加载这些插件应该负责哪个DLL? GUI或核心DLL?
我正在使用MEF所以不太确定在哪里坚持它。
答案 0 :(得分:2)
我认为答案取决于应用程序中部件(使用MEF术语)的使用方式。我会根据零件的位置/方式来创建和填充容器。
示例:
如果要创建包含GUI视图的部件,我会认为应用程序中的GUI层会加载它们并管理容器。
我有一个为客户端应用程序插件构建的应用程序框架,其中有一个静态应用程序管理器类,可以为应用程序加载部件,但是我还将部件加载到我的核心逻辑使用的容器中。两者的意图完全不同,因为其中一些是我希望以后能够轻松更换的核心概念,一些是在插入并可供应用程序使用时扩展客户端功能的UI插件。
此外,这些是使用不同的方法加载的...核心仅在启动时使用特定规则,另一个是从目录(插件)加载所有内容。
答案 1 :(得分:0)
我认为Core DLL,因为它可能是插件的业务逻辑。