摘抄自:黄忠成先生的《Framework的设计与实现——基于Windows Forms的应用开发实践》第8章
设计一个Plug-In Framework所需的三个程序面需求:
第一个需求是与配置文件集成,让程序员可以再配置文件中声明Plug-In对象的信息。
第二个需求是Plug-In系统与Plug-In对象的沟通,再Plug-In对象初次加载时,可能必须先经过一段初始化,因此再声明Plug-In系统与Plug-In对象间的沟通契约时,必须声明一个Initialize函数,让Plug-In系统再加载Plug-In对象时调用,初始化该对象。
第三个需求是Plug-In对象的契约必须有级别之分,针对具体支持的Plug-In对象类型声明出明确的契约。