架构师训练营第二周学习总结
本周学习了软件设计的原则,主要有:
开闭原则:我们写的代码应该对修改关闭,对扩展开放;
依赖倒转原则:高层不应该依赖于低层,低层也不应该依赖于高层,高层应该依赖于一个抽象接口,由低层去实现这个抽象接口,这个抽象接口应该属于高层,由高层定义;
里氏替换原则:父类出现地方都应该可以用子类替换,里氏替换原则可以用来评估继承是否合理。传统意义上的is a并不一定是合理的继承,继承应该考虑使用场景,只有在使用场景中存在is a的关系,才是合理的的继承;
单一职责原则:一个类完成的功能应该单一,应该只有一个引起它变化的原因,一个类功能越复杂,内聚性越低,越不利于重用,当需要完成一个复杂的功能时,将各个子功能封装成小的类,使用组合将各个类组合起来。
接口分离原则:不应该强迫客户程序依赖它们不需要的方法,可以将一个接口中的部分方法挪出来在另一个接口中定义。
评论