# SOLID原则

简写 英文全称 中文全称 功能
S SRP(Single Responsibility Principle) 单一职责原则 一个类仅具有单一功能(职责)
O OCP(Opened Closed Principle) 开闭原则 扩展开放,修改封闭
L LSP(Liskov Substituion Principle) 里式替换原则 派生类可以替换基类的使用
I ISP(Interface Segregation Princple) 接口隔离原则 使用客户端特定的细粒度接口
D DIP(Dependency Inversion Principle) 依赖反转原则 依赖抽象而不是具体实现

# 单一职责原则

单一职责原则最终的目的是高内聚

设计类或方法的时候,应该尽可能的将复杂的逻辑拆分为简单的职能。
每一个方法只做一件事情,每个类只代表一件事物。

# 开闭原则

开闭原则的最终目的是提高系统的可维护性(扩展功能等)和代码的重用性

软件实体对于扩展是开放的,而对于修改是封闭的。
在程序扩展的时候,不应该去修改原有代码,而是应该实现一个热插拔的效果。

# 里式替换原则

里氏替换原则最终目的是减少继承的缺点,增强程序的健壮性

所有的父类都可以被子类替换,而不会使系统发生任何异常。
子类可以扩展父类的功能,但不能改变父类原有的功能。

# 接口隔离原则

接口隔离原则的最终目的是低耦合

客户端不应该被迫依赖于它所不使用的方法。
一个接口负责多个功能,应该拆成颗粒度更细的多个接口,每个接口负责单独的一个功能。

# 依赖反转原则

依赖反转原则的目的是高层模块与底层模块解耦,使得设计更加灵活

高层模块不应该依赖于底层模块,他们都应该依赖于抽象。
抽象不应该依赖于细节,细节应该依赖于抽象。

# 总结

五个基本原则使得程序低耦合高内聚易扩展与重构设计更灵活程序更健壮

最近更新时间: 2020/10/10 18:15:40