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