架构师训练营第二周心得
编程语言的实质
编程的目的是:用计算机来解决现实世界的问题。
什么是面向对象编程
万物皆对象
程序是对象的集合,它们通过发送消息来告知彼此所要做的
每个对象都有自己的由其他对象所构成的存储
每个对象都拥有其类型
某一特定类型的所有对象都可以接收同样的消息
面向对象编程的三要素
封装性
继承性
多态性
面向对象设计的目的和原则
目的
强内聚、低耦合
原则
设计模式
软件设计的臭味
僵硬,不易改变
脆弱,只改变A,B却遭到破坏
不可移植
导致误用的陷阱,诱导程序员破坏原有设计
晦涩
过度设计
面向对象设计的原则
开闭原则,对扩展开放,对更改封闭
依赖倒置原则,高层模块不能依赖低层模块,而是大家都依赖于抽象。抽象不能依赖实现,而是实现依赖抽象
里氏替换原则,子类型必须能够替换掉它们的基类型。
单一职责原则,一个模块的组成元素之间的功能相关性。
接口分离原则,不应该强迫客户程序依赖它们不需要的方法。
评论