面向对象程序设计一共有五个基本原则,分别是:
单一职责原则(SRP)、开放-封闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)
单一职责原则(SRP):
WHAT:对于一个类而言,应该仅有一个引起它变化的原因。
WHY:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
辅助理解:单细胞生物进化成为多细胞生物的过程中,从前的单细胞生物一个细胞负责很多功能,防御、繁衍、消化、进食等等,而多细胞生物一个细胞只负责一个功能,淋巴细胞负责防御,血红细胞负责运输,精元细胞负责繁衍。软件工程的发展过程与之非常接近,现在我们编程中的类理解成一个细胞,一个类只负责一个功能。
开放-封闭原则(OCP):
WHAT:软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。
WHY:开放-封闭原则是面向对象编程的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可拓展、可复用、灵活性好。开发人员应该仅仅对