写点什么

架构师训练营第二周学习总结

用户头像
成长者
关注
发布于: 2020 年 09 月 27 日

编程语言的实质

编程语言是一种“抽象”的机制,问题是对“谁”来抽象。


抽象的种类

  1. 对于机器代码汇编语言,是对基础机器进行抽象。

  2. 对于非结构化的高级语言,是对计算处理逻辑抽象。

  3. 对于结构化的程序设计,对问题领域进行一定程度的抽象。

  4. 对于面向对象的程序设计,直接表达问题空间内的元素。


面向对象编程的三要素

  1. 封装性(隐藏实现细节,定义接口)

  2. 继承性(IS-A 关系,HAS-A 关系)

  3. 多态性(后期绑定,向上转型)


框架和工具的区别

框架调用应用程序代码,应用程序代码调用工具。

架构师用框架保证架构的落地,架构师用工具提高开发效率。


面向对象设计的基本原则

  1. 开放-封闭原则(OCP)

定义:对于扩展是开放的,对于修改是关闭的。简言之,不需要修改软件实体(类、模块、函数等),就应该能实现功能的扩展。

  1. 依赖倒置原则(DIP)

定义:高层模块不能依赖低层模块,而是大家都依赖于抽象;抽象不能依赖实现,而是实现依赖抽象。

  1. 里氏替换原则(LSP)

定义:若对每个类型 T1 的对象 o1,都存在一个类型 T2 的对象 o2,使得在所有针对 T2 编写的程序 P 中,用 o1 替换 o2 后,程序 P 的行为功能不变,则 T1 是 T2 的子类型。简言之,子类型必须能够替换掉他们的基类型。

  1. 单一职责原则(SRP)

定义:一个类,只能有一个引起它变化的原因。又被称为内聚性原则。

  1. 接口隔离原则(ISP)

定义:不应该强迫客户程序依赖它们不需要的方法。


用户头像

成长者

关注

还未添加个人签名 2018.05.08 加入

还未添加个人简介

评论

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