今天看了李老师的设计模式,晚上在此通过记忆整理一下,明天再根据笔记详细整理。
————————通过记忆整理————————————————————————
设计原则 比 设计模式 更本质
目前常用的设计模式有23种,然而这都是方法,更重要的是其中本质的东西:设计原则,设计思想。
分解和抽象
面向对象的三个重要概念是:1、封装 2、继承 3、多态 但是这三个概念都是底层的,在上层上需要使用“抽象”的思想去处理问题。
分解:分而治之,经常使用的解决问题的方法,把问题拆分开来
抽象:将问题统一起来看待,找到不考虑细节、更理想化的模型
设计模式的目标是:复用
当处理一个简单,或者不需要变化的问题时,设计模式的不同影响不大。
然而一旦出现变化(客户需求变化,开发平台变化,开发人员变化),那么设计模型的作用就体现出来了。
在一系列设计原则的指导下,可以尽可能小的修改代码,就应付出现的变化。
设计原则
李老师提到了好几条设计原则,
我记忆最深的是三个思想:
1、向下依赖
稳定的模块不要依赖变化的模块。
2、各司其职
每个代码完成其对应的工作,比如“打印”,需要该类需要被打印,那么就自己提供打印函数。这样通过多态性就可以调用这个函数。
3、继承和组合。
如果子类不会使用父类的太多函数,可以考虑使用“组合”的模式,而不是“继承”的模式。
继承其实在一定程度上破坏了“封装”,增加了耦合
————————通过笔记整理————————————————————————
时间: 2024-10-27 07:36:00