一、OO基础
抽象、封装、多态、继承
二、良好的OO设计必须具备可复用、可扩展、可维护三个特性
个人理解:这三个特性同时具备,缺一不可
三、设计模式被认为是经历验证的OO设计经验
个人理解:编程套路
四、设计模式不是代码,而是针对设计问题的通用解决方案。你可以把它们应用到特定的应用中
个人理解:使用设计模式不一定要死板的套用,可以根据自己的场景需要进行组合或微调
五、大多数的设计模式和原则,都着眼于软件变化的主题
个人理解:设计模式是解决变化问题,如果把设计模式用在不变的地方,就是对设计模式的滥用
六、大多数的设计模式都允许系统局部改变独立于其他部分
个人理解:可扩展、可维护、遵循开闭原则
七、设计模式让开发人员之间有共享的语言,能够最大化沟通的价值
想想看,有多少次的设计会议中,我们一不小心就进入了琐碎的实现细节的讨论上。你花5分钟给大家描述了一遍你是怎么用观察者模式实现了这个功能,你还不如花5秒钟告诉大家,这个功能我采用了观察者模式。(前提是大家都懂设计模式)
八、对代码所做的局部修改,影响层面可不只是局部
如:修改父类的方法,影响的是所有子类
九、当涉及维护时,为了复用目的而使用继承,结局并不完美
修改父类的方法,影响的是所有子类,继承耦合性太高,牵一发动全身