之前的几篇文章,目的是介绍一个贡献式编程的思考方式,暂时姑且叫Contribution-Driven-Development(CDD)吧。
程序员的抽象能力通常透过项目的实战经验累积下来的,可能在累积的过程中途放弃了。在我个人经验中,能有抽象能力和模块化的能力的人不多,所产出的程序也不具备可扩展性。所以提出所谓 CDD 的思维方式来帮助各位。
CDD不是什么新鲜的事物,只是一些经验的总结,在很多项目都会使用的技巧。我在当初接触 Eclipse 插件开发的时候,就深深被这种思维方式所吸引,任何部分都预留空间让其他插件开发者发挥。
总结这个思维方式,有几个步骤可以参考:
贡献式编程具体化了Hollywood Principle(Don‘t Call Me, I‘ll Call You)。贡献就只是贡献,原则上贡献是被动的,所以根本的思维上和一般 IoC 框架兼容。
系统的基础框架建设负责加载各个贡献,组织如何调用各个贡献,是主体、是启动系统的入口。
我们也具体化 Divide-and-Conquer 的实际操作,让大型系统的开发变成多个小部件。
一个系统的可扩展性,是这个系统生命力的所在。容易扩展,容易修改,容易做出贡献,生生不息。希望这个思维方式能成为培训程序员的一个重要标准。
原文地址:http://blog.csdn.net/kmtong/article/details/39052199