《Head First 设计模式》读后感
这是一本连目录都很有趣的书。
作者以四人帮(Gof)的《Design Patterns: Elements of Reusable
Object-Oriented
Software》为基础,妙趣横生、深入浅出的介绍了相关的设计模式。
软件开发有两大难点:
1、复杂度:因为软件模拟整个现实的世界,而现实世界是复杂的、无序的;
2、变化:变化是唯一不变的真理。
所以软件管理就是管理软件的复杂度和变化。设计模式让我们从以往的代码重用,上升到经验的重用,让我们的思考架构提升到模式的层面,而不是仅仅停留在琐碎的对象上。
建立一种弹性的、可维护的、可以应对变化的软件,其核心原则就是“封装变化”,封装对象的创建、方法的调用、复杂的接口等等。
封装变化就是要把变的和不变的部分分开,概括来说有三点:
1、找出变化的部分;
2、分离变化的部分;
3、封装变化的部分。