架构师训练营第二周总结
本周主要学习了解了软件开发的历史以及主要的编程范式:面向过程、面向对象以及函数式编程;面向对象是当前主流的编程范式,虽然面向对象善于解决负责问题,容易创建出易扩展、易维护的程序,但是相应的编写难度也更高,需要具备面向对象的开发思维:如何针对需求做分析、如果进行面向对象设计以及最后如果把设计编码为实现,是一个自顶向下的思维过程;而面向过程开发实际上更符合人类为了解决问题而解决问题的思维习惯,是一个置地向上的思维过程;面向对象也并不是银弹,关键也需要结合实际需求看采用哪种范式;
其次,本周还学习了集中常见的面向对象设计原则:SOLID 等,分别是单一责任原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则;单一责任原则用来使类或模块或函数的设计功能更加单一,更加内聚,带来的好处就是不会导致黏连,不容易发生牵一发而动全身的尴尬。开闭原则是使得类或模块或函数更容易扩展,当然修改是相对的,绝对的不修改是很难做到的;里氏替换原则主要是用来指导继承关系中的子类的设计:子类的设计应该违反父类的设计初衷,不能改变父类的行为逻辑;接口隔离原则是指类的方法或函数的设计不能强迫调用者依赖不需要的接口,接口隔离原则是从调用者的角度判断类的设计是否足够责任单一。
评论