架构师培训第 2 周学习总结
本周的学习主要跟着老师回顾了软件开发的简史,历经短短几十年的时间,从编程思想的诞生到形形色色的编辑语言的发展,从面向机器到面向对象,编程语言的实质是用计算机解决现实世界的问题。
之后老师重点介绍了面向对象的三大特征,以及软件设计的五大原则:
这里总结一下:
一、面向对象的三个基本特征是:封装、继承、多态。
网上找了一个图,借用一下:
二、五大基本原则
1、单一职责原则(SRP)
一个类应该有且只有一个去改变它的理由,这意味着一个类应该只有一项工作。
2、开放封闭原则(OCP) 对象或实体应该对扩展开放,对修改封闭。
3、里氏替换原则(LSP) 在对象 x 为类型 T 时 q(x) 成立,那么当 S 是 T 的子类时,对象 y 为类型 S 时 q(y) 也应成立。(即对父类的调用同样适用于子类)
4、依赖倒置原则(DIP) 高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。具体实现应该依赖于抽象,而不是抽象依赖于实现。
5、接口隔离原则(ISP) 不应强迫客户端实现一个它用不上的接口,或是说客户端不应该被迫依赖它们不使用的方法,使用多个专门的接口比使用单个接口要好的多!
评论