架构师训练营第二周【总结】
什么是面向对象编程
万物皆对象
程序是对象的集合,它们通过发送消息来告知彼此所要做的。
每个对象都有自己的由其他对象所构成的存储。
每个对象都拥有其类型。
某一特定类型的所有对象都可以接收同样的消息。
什么是对象
对象是具有状态、行为和标识。
状态:表明每个对象可以有自己的数据。
行为:表明每个对象可以产生行为。
标识:表明每个对象都区别于其它的对象
面向对象设计的目的和原则
目的:强内聚、低耦合,从而使系统易扩展、更强壮、可移植和更简单。
原则:原则是独立于编程语言的,甚至可以用于非面向对象编程语言中。
面向对象设计的基本原则
开闭原则(OCP)
软件实体(模块、类、方法等)应该“对扩展开放、对修改关闭”,添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。
依赖倒置原则(DIP)
高层模块不应该依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。
里式替换原则(LSP)
子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。
单一职责原则(SRP)
一个类或者模块只负责完成一个职责(或者功能)。
接口隔离原则(ISP)
客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。
评论