我们使用设计模式的目的很多,为了更好的可维护性,更好的可扩展性,更好的可移植性,但是归结到两个字,就是重用。使用设计模式是存在成本的:时间、代码量甚至是程序的性能。尤其是,当项目基本成型之后,设计模式使用的成本就更加明显,除了以上的成本意外,还有因为修改引入新的bug的风险。
这里插入点插曲:个人觉得,从性能来说,尤其是时间性能来说,原始的面向过程编程(OPP)始终是性能最高的。但是,一份好的面向过程的code,对于开发者的能力要求比较高(即较高的人力成本),开发周期也比较长(较高的时间成本),加之计算机的性能增长和成本的降低,使面向对象编程(OOP)更加符合目前商业开发的需求,所以OOP大行其道。这和java和C#这些语言慢慢侵蚀C/C++的市场份额是一样的,无非是设备提供了更高的性能来让语言“浪费”而已,不过,整个项目而言,项目整体成本的降低使这些“浪费”变得物有所值。
使用设计模式的时候,我们就是要找到系统中现在或者未来变化的点,把变化封装起来,这样,我们才可以做到“向修改关闭,向扩展开放”,才可以做到“针对接口编程,不针对实现编程”,才可以做到“松耦合设计”;只有封装了变化,我们才能让我们才能够让新的变化到来的时候,原有的代码可以继续工作,而不需要重写,这才是重用。
原文地址:http://blog.csdn.net/a220315410/article/details/9305077