万事万物的存在都需要遵循一些既定的原则,比如游戏有游戏的规则,生活在当今社会需要遵守道德与法律。而在面向对象编程的过程中也同样存在一些规则。分为六大原则一个法则,分别是单一原则、开闭原则、依赖倒转原则、里氏代换原则、接口隔离原则、合成复用原则、迪米特法则。
单一原则:Single Responsibility Principle(SRP)是指类的功能要单一,一个类不应承担过多的职责,不然一旦牵涉到更改会引起对应的风险。
开闭原则:开放-封闭原则,Open Close Principle(OCP)是指对软件实体(类、模块、函数等)应该扩展,但是不可修改。
依赖倒转原则:Dependence Inversion Principle(DIP)是指抽象不应该依赖于细节,细节应该依赖抽象。就是要针对接口编程,不要对实现编程。
里氏代换原则:Liskov Substitution Principle(LSP)是指子类型必须能够替换掉它们的父类型。也就是说子类和父类不相互依赖,除了约定接口,大家都可以灵活自如。
接口隔离原则:Interface Segregation Principle(ISP)是指不要使用单一的总接口,而应使用多个专用接口。
合成复用原则:Composite Reuse Principle(CRP)是指尽量使用组合而不使用继承来实现目的。
迪米特法则:Law of Demeter(LoD)也叫最少知识原则,是指一个类在结构设计上应该尽量降低成员的访问权限。