![](https://csdnimg.cn/release/download_crawler_static/86000718/bg10.jpg)
开闭原则
(Open-Closed Principle, OCP)
软件实体对扩展是开放的,但对修改是关闭的,即在不修
改一个软件实体的基础上去扩展其功能。
里氏替换原则
(Liskov Substitution Principle, LSP)
任何基类对象可以出现的地方, 子类对象一定可以出现。
依赖倒置原则
(Dependency Inversion Principle, DIP)
单一职责原则
(Single Responsibility Principle, SRP)
接口隔离原则
(Interface Segregation Principle, ISP)
迪米特法则
(Law of Demeter, LoD)
一个软件实体对其他实体的引用越少越好,或者说如果两
个类不必彼此直接通信,那么这两个类就不应当发生
直接的相互作用,而是通过引入一个第三者发生间接
交互
合成复用原则
(Composite Reuse Principle, CRP)
在系统中应该尽量多使用组合和聚合关联关系,尽量少使
用甚至不使用继承关系
面向对象设计7大原则
这些原则并不是孤立存在的,它们相互依赖,相互补充。
16