基于插件式的开发框架: (2)责任分配
公司里有两部电话, 是用来做支持的, 一个是技术方面的, 一个是业务方面的. 客户会打电话过来咨询一些问题. 但是, 出现一个小问题, 客户通常分不清他要问的问题是业务的还是技术的, 所以总是会打错电话. 公司内部麻烦不说, 造成客户满意度直线下降. 后来领导要求将两部电话换成一部, 这样就避免了客户打错电话的问题. 但事情并没有到此结束, 由于技术部和业务部日常工作都比较繁忙, 电话换成一部后时常无人接听, 原因很简单, 技术部的人想, 电话可能不是咨询技术问题的, 让业务部的人接听去吧, 业务部的人的想法异同. 领导了解到情况后, 立即部署"专职人员"专注电话接听工作, 从此电话接听问题得到了解决.
以上是一个简单案例, 从中我们可以看出责任分配不明确所带来的一些影响.
再回到插件式开发框架部分, 简要说下本框架是如何进行责任分配的.
上一篇意图中很明确的目标是构造宿主程序, 又从基本概念中了解到宿主是管理和控制插件的, 那么框架中宿主内部各构件的责任如何分配似乎已显现出了大半.
插件管理(源码中IPackageManager)
插件管理即对装载插件,注册插件,移除插件等操作的管理.
插件控制(源码中IPackageController)
插件控制即对运行(启动)插件,停止(卸载)插件进行控制.
前两篇文章的评论中有人说你这个开发框架"什么packagemanager之类的,我用最sb的List+interface都可以实现。". 那么我希望能通过上面的案例说明我在此框架中使用packagemanager的原由 -- 每件事物都应有"专职人员"处理.