设计原则名称 |
设计原则简介 |
重要性 |
单一职责原则
(Single Responsibility Principle, SRP) |
类的职责要单一,不能将太多的职责放在一个类中 |
★★★★☆ |
开闭原则
(Open-Closed Principle, OCP) |
软件实体对扩展是开放的,但对修改是关闭的,即在不修改一
个软件实体的基础上去扩展其功能 |
★★★★★ |
里氏代换原则
(Liskov Substitution Principle, LSP) |
在软件系统中,一个可以接受基类对象的地方必然可以接受一
个子类对象 |
★★★★☆ |
依赖倒转原则
(Dependency Inversion Principle, DIP) |
要针对抽象层编程,而不要针对具体类编程 |
★★★★★ |
接口隔离原则
(Interface Segregation Principle, ISP) |
使用多个专门的接口来取代一个统一的接口 |
★★☆☆☆ |
合成复用原则
(Composite Reuse Principle, CRP) |
在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚
至不使用继承关系 |
★★★★☆ |
迪米特法则
(Law of Demeter, LoD) |
一个软件实体对其他实体的引用越少越好,或者说如果两个类
不必彼此直接通信,那么这两个类就不应当发生直接的相互作
用,而是通过引入一个第三者发生间接交互 |
★★★☆☆ |