写点什么

架构师训练营第 2 周总结

发布于: 2020 年 06 月 17 日

一、 软件开发史

(1) 编程的本质是用计算机来解决现实世界的问题,编程语言是一种抽象机制。

(2) 面向对象编程: 对象具有状态、行为和标识。 同时具有三个特征: 封装、继承、多态。



二、面向对象设计原则:

软件设计的“臭味”:僵硬、脆弱、不可移植、导致误用的陷阱、晦涩、过度设计'copy-paste' 代码。

  1. OOD 原则一: 开闭原则(OCP)

  • 扩展是开发的

  • 更改是封闭的

如何实现不修改源代码而扩展:

  • 方法一: 抽象

  • 方法二: 策略模式

  • 方法三: 适配器模式

  • 方法四: 观察者模式

  1. OOD 原则二:依赖倒置原则(DIP)

  • 高层模块不能依赖低层模块,而是大家都依赖于抽象

  • 抽象不能依赖实现,而是实现依赖抽象。

遵循好莱坞规则: Don't call me, I'll call you.

  1. OOD原则三: Liskov 替换原则(LSP)

实现OCP 的关键在于抽象, 而抽象的威力在于多态和继承。一个正确的继承要符合什么要求: 里氏替换原则。

  1. OOD原则四: 单一职责原则(SRP - Single Responsibility Principle)

  • '内聚性原则' 即一个模块的组成元素之间的功能相关性

  • 一个类,只能有一个引起它变化的原因

即: 一个职责是一个变化的原因。

  1. OOD原则五:接口分离原则(ISP - Interface Segregation Principle)

  • 不应该强迫客户程序依赖他们不需要的方法



用户头像

还未添加个人签名 2018.03.29 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第2周总结