架构师训练营 -- 第二周学习总结
软件开发简史
从软件开发的历史谈起,简述软件开发的发展历程,以及每一阶段的标志性事件,在此过程中,诞生了编程语言,使用计算机来解决现实世界的问题,并基于此了解了编程语言以及编程方法的演进方向,从面向过程编程,面向函数编程,到现在的面向对象以及面向连接编程,其过程更加的贴近于用户端,更加抽象效率化用户端的实现以及使用方式。
面向对象编程
面向对象编程语言特性:继承,抽象,封装,多态
继承:接口的重用,最大限度的提高代码的复用度
封装:通过public,protected,default,private标识进行访问权限控制,用于隐藏细节信息,保护数据安全
抽象:隐藏方法的具体实现,让调用者只关心有哪些功能,不需要关心如何实现。简单的说就是基于接口或者抽象类编程。
多态:对象互换的魔法,提高代码的可扩展性以及复用性
设计原则SOLID
单一职责原则(SRP):简单的说就是一个类或者一个模块只负责完成一个职责或者功能,当然方法的划分也可以参考此原则。
开闭原则(OCP):对扩展开发,对修改关闭。实际场景中应当尽量减少修改的地方,不可能完全避免修改
李氏替换原则(LSP):子类能够替换程序中父类对象所在的任何位置,并且能保证替换之后的业务逻辑的正确性
接口隔离原则(ISP):不应该将客户端不需要的接口行为暴露给客户端,尽量保证客户端的行为可控
依赖倒置原则(DIP):调用链上层的业务模块实现不需要依赖下层的业务模块,双方通过抽象进行依赖,其中抽象不依赖于实现细节,但是实现细节需要依赖于抽象。
评论