一开始学编程的时候,都是在学习程序语言,觉得学好了这门语言就可以写好程序;渐渐地发现算法和数据结构更加的重要,因为语言只是细胞,要依附这些行程肉体才能产生作用;但到了实际生产应用的时候,又会察觉整个好像缺少灵魂,常常只能像僵尸般往一个方向前进,缺少驱动力来动态调整,这力量就来自各种设计模式和开发原则。
经历了越多开发中的痛楚,也越来越发觉“S.O.L.I.D.”开发原则只用几句话所概括出来的真谛和内涵。它们对于软件开发是如此有意义,当然具体的实现依然还是依赖于那些基于需求形成的数据结构和算法,只是利用这些开发原则作为灵魂,让程序走得更远更自由。
Single Responsibility Principle(SRP)
A class should have one, and only one, reason to change.
Open Closed Principle(OCP)
You should be able to extend a classes behavior, without modifying it.
Liskov Substitution Principle(LSP)
Derived classes must be substitutable for their base classes.
Interface Segregation Principle(ISP)
Make fine grained interfaces that are client specific.
Dependency Inversion Principle(DIP)
Depend on abstractions, not on concretions.