面向对象主要有五大原则,分别为:单一职责原则、开放封闭原则 、里氏替换原则、  依赖倒置原则、接口隔离原则。

‌                                                                         Upload

下面详细介绍这五大原则。

一、单一职责原则(Single Responsibility Principle)

指每个类都应该专注于做一件事情,而不是分散地同时做好几件事。

因为一个类只负责一项任务,其可以降低类的复杂度;提高类的可读性,提高系统的可维护性。

二、里氏替换原则(Liskov Substitution Principle)

即超类存在的地方,子类是可以替换的。

里氏替换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。

三、依赖倒置原则(Dependence Inversion Principle)

其含义是:实现时应该尽量依赖抽象,而不依赖于具体实现。

采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,同时减少并行开发引起的风险,提高代码的可读性和可维护性比如大局上Java的多态就属于这个原则。

四、接口隔离原则(Interface Segregation Principle)

即应当为客户端提供尽可能小的单独的接口。

也就是要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。依赖几个专用的接口要比依赖一个综合的接口更灵活。

五、迪米特法则(Law Of Demeter)

即一个软件实体应当尽可能少的与其他实体发生相互作用。

一个对象对另一个对象知道的越少越好,即一个软件实体应当尽可能少的与其他实体发生相互作用,在一个类里能少用多少其他类就少用多少,尤其是局部变量的依赖类,能省略尽量省略。