|
7 | 7 | 最常见的7种面向对象设计原则如下表所示:
|
8 | 8 | 表1 7种常用的面向对象设计原则
|
9 | 9 |
|
10 |
| -设计原则名称 |
11 |
| -定 义 |
12 |
| -使用频率 |
13 |
| - |
14 |
| -单一职责原则 |
15 |
| -(Single Responsibility Principle, SRP) |
16 |
| -一个类只负责一个功能领域中的相应职责 |
17 |
| -★★★★☆ |
18 |
| - |
19 |
| -开闭原则 |
20 |
| -(Open-Closed Principle, OCP) |
21 |
| -软件实体应对扩展开放,而对修改关闭 |
22 |
| -★★★★★ |
23 |
| - |
24 |
| -里氏代换原则 |
25 |
| -(Liskov Substitution Principle, LSP) |
26 |
| - |
27 |
| -所有引用基类对象的地方能够透明地使用其子类的对象 |
28 |
| -★★★★★ |
29 |
| - |
30 |
| -依赖倒转原则 |
31 |
| -(Dependence Inversion Principle, DIP) |
32 |
| -抽象不应该依赖于细节,细节应该依赖于抽象 |
33 |
| -★★★★★ |
34 |
| - |
35 |
| -接口隔离原则 |
36 |
| -(Interface Segregation Principle, ISP) |
37 |
| -使用多个专门的接口,而不使用单一的总接口 |
38 |
| -★★☆☆☆ |
39 |
| - |
40 |
| -合成复用原则 |
41 |
| -(Composite Reuse Principle, CRP) |
42 |
| -尽量使用对象组合,而不是继承来达到复用的目的 |
43 |
| -★★★★☆ |
44 |
| - |
45 |
| -迪米特法则 |
46 |
| -(Law of Demeter, LoD) |
47 |
| -一个软件实体应当尽可能少地与其他实体发生相互作用 |
48 |
| -★★★☆☆ |
| 10 | +<table> |
| 11 | +<tr> |
| 12 | +<td>设计原则名称</td> |
| 13 | +<td>定 义</td> |
| 14 | +<td>使用频率</td> |
| 15 | +</tr> |
| 16 | + |
| 17 | +<tr> |
| 18 | +<td>单一职责原则 (Single Responsibility Principle, SRP)</td> |
| 19 | +<td>一个类只负责一个功能领域中的相应职责</td> |
| 20 | +<td>★★★★☆</td> |
| 21 | +</tr> |
| 22 | + |
| 23 | +<tr> |
| 24 | +<td>开闭原则 (Open-Closed Principle, OCP)</td> |
| 25 | +<td>软件实体应对扩展开放,而对修改关闭</td> |
| 26 | +<td>★★★★★</td> |
| 27 | +</tr> |
| 28 | + |
| 29 | +<tr> |
| 30 | +<td>里氏代换原则 (Liskov Substitution Principle, LSP)</td> |
| 31 | +<td>所有引用基类对象的地方能够透明地使用其子类的对象</td> |
| 32 | +<td>★★★★★</td> |
| 33 | +</tr> |
| 34 | + |
| 35 | +<tr> |
| 36 | +<td>依赖倒转原则 (Dependence Inversion Principle, DIP)</td> |
| 37 | +<td>抽象不应该依赖于细节,细节应该依赖于抽象</td> |
| 38 | +<td>★★★★★</td> |
| 39 | +</tr> |
| 40 | + |
| 41 | +<tr> |
| 42 | +<td>接口隔离原则 (Interface Segregation Principle, ISP)</td> |
| 43 | +<td>使用多个专门的接口,而不使用单一的总接口</td> |
| 44 | +<td>★★☆☆☆</td> |
| 45 | +</tr> |
| 46 | + |
| 47 | +<tr> |
| 48 | +<td>合成复用原则 (Composite Reuse Principle, CRP)</td> |
| 49 | +<td>尽量使用对象组合,而不是继承来达到复用的目的</td> |
| 50 | +<td>★★★★☆</td> |
| 51 | +</tr> |
| 52 | + |
| 53 | +<tr> |
| 54 | +<td>迪米特法则 (Law of Demeter, LoD)</td> |
| 55 | +<td>一个软件实体应当尽可能少地与其他实体发生相互作用</td> |
| 56 | +<td>★★★☆☆</td> |
| 57 | +</tr> |
| 58 | +</table> |
0 commit comments