架构师训练营第三周学习总结:面向对象设计和设计模式
面向对象设计(OOD)的目标是创建出高内聚,低耦合的程序。
面向对象设计的原则可以总结为SOLID原则。即S(SRP):单一职责原则;O(OCP): 开闭原则;
L(LSP):里氏替换原则;I(ISP): 接口分离原则;D(DIP):依赖倒置原则。
设计模式可以理解为SOLID原则在实际程序开发中的最佳实践。
什么是设计模式?
每一种设计模式都描述了一种问题的通用解决方案。这种问题在我们的环境中,不停的出现。
设计模式是一种可重复使用的解决方案。
一个设计模式和一个问题场景是一一对应的,一种设计模式解决一个问题场景,没有设计模式可以解决所有的场景的问题。设计模式和问题场景是紧紧联系在一起的,根据具体的问题场景选择合适的设计模式,是使用设计模式的正确方法。
一个设计模式的四个部分:
模式的名称:由少量的字组成,有助于表达我们的设计
待解问题:描述了何时需要运用这种模式,以及运用模式的环境(上下文)
解决方案:描述了组成设计的元素(类和对象),它们的关系,职责以及合作。但这种解决方案是抽象的,它不代表具体的实现。
结论:运用这种方案所带来的利和弊。主要是指它对系统的弹性,扩展性和可移植性的影响。
设计模式的分类
从功能分
创建模式:对类的实例化过程的抽象
结构模式:将类或者对象结合在一起形成更大的结构
行为模式:对在不同对象之间划分责任和算法的抽象化
从方式分
类模式:以继承的方式实现类,静态的
对象模式:以组合的方式实现类,动态的
下面是根据这一周的内容,参考极客时间《设计模式之美》的内容,总结出的一些设计模式的用法。
评论