架构师训练营第二周总结
本周的学习中老师演示了如何通过设计原则来改进代码,对我个人的冲击很大,总结如下:
软件设计原则,即SOLID原则,包含5个不同的原则:
S: 单一职责原则
O: Open-Close原则
L: 里式替换法则
I: 接口隔离原则
D: 依赖倒置原则
每当谈软件设计,设计模式往往是首先被人谈起的,但是设计原则反而是更加重要的。设计原则是“道”,是战略层面的。设计模式是“术”,是具体的战术层面的。所以在日常工作中,分不清设计模式的名称不是很重要,关键是大的原则不违背,甚至针对具体场景,设计出新的模式来也是可能的。
单一职责原则:如果有不同的调用者调用某个类,且依赖的都是不同的方法,则违背此原则,表示有多个可以导致该类修改的原因。
Open-Close原则:对扩展开放,对修改关闭。主要是要善于利用面向对象多态的特性,使用策略模式,去掉if、else代码,使得添加新功能可以通过添加新类的方式实现,不需要修改现有代码。
里式替换法则:所有父类出现的地方,都可以用子类替换,即子类不应该有比父类更严格的契约。
接口隔离原则:刚刚跟单一职责原则配合使用,如果某个类中的不同方法被多个调用者依赖,但是这些方法之间互相有依赖,不能拆成多个类,则可以通过创建多个接口的方式,调用者只依赖相关的接口,对具体的实现做隔离,使得调用者不必关心多余的方法。
依赖倒置原则:又被称为好莱坞原则,在框架设计中非常重要。通过让框架跟你的代码都依赖同一个抽象的方式,使得框架可以调用使用者的代码,而不是反过来。从而简化框架的使用,使得框架对于使用者来说近乎是透明的。
评论