架构师训练营第二周【总结】

发布于: 2020 年 06 月 17 日

什么是面向对象编程

  • 万物皆对象

  • 程序是对象的集合,它们通过发送消息来告知彼此所要做的。

  • 每个对象都有自己的由其他对象所构成的存储。

  • 每个对象都拥有其类型。

  • 某一特定类型的所有对象都可以接收同样的消息。

什么是对象

对象是具有状态、行为和标识。

  • 状态:表明每个对象可以有自己的数据。

  • 行为:表明每个对象可以产生行为。

  • 标识:表明每个对象都区别于其它的对象

面向对象设计的目的和原则

目的:强内聚、低耦合,从而使系统易扩展、更强壮、可移植和更简单。

原则:原则是独立于编程语言的,甚至可以用于非面向对象编程语言中。

面向对象设计的基本原则

开闭原则(OCP)

软件实体(模块、类、方法等)应该“对扩展开放、对修改关闭”,添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。

依赖倒置原则(DIP)

高层模块不应该依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。

里式替换原则(LSP)

子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。

单一职责原则(SRP)

一个类或者模块只负责完成一个职责(或者功能)。

接口隔离原则(ISP)

客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。

用户头像

atlasman

关注

还未添加个人签名 2018.04.24 加入

还未添加个人简介

评论

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