2月
8
Desirable Characteristics of a Design
1.最小的复杂度 Minimal complexity: 应该作出简单而易于理解的设计,避免“聪明的”设计,“聪明的”设计往往是难以理解的。
2.易于维护 Ease of maintenance : 考虑做维护工作的程序员会提出的问题。
3.松散耦合 loose coupling 人那个程序各个组成部分之间关联最小。实现手法: 抽象接口,合理封装,信息隐藏等。
4.可扩展性 extensibility : 可以改动系统的一部分而不会影响到其他部分。
5. 可重用性 reusebility : 该系统组成部分能够在其他系统中使用。
6. 高扇入 high fan-in 可以让大量的类使用某个给定的类,系统可以很好的利用较低层次上的工具类。
7.底扇出 low fan-in :一个类少使用其他的类。大于7为高扇出,导致系统复杂。
8.可移植性 protability : 方便地移植到其他环境。
9.精简性 leanness : 没有对于部分,关键问题: “这虽然简单,但把它加进来之后会损害什么呢?"
10.层次性 stratification : 可以在任何层面上观察系统并得到一致性看法。可以在任意参差上观察而不需要进入其他层次。
知识来源:《代码大全2 》
1.最小的复杂度 Minimal complexity: 应该作出简单而易于理解的设计,避免“聪明的”设计,“聪明的”设计往往是难以理解的。
2.易于维护 Ease of maintenance : 考虑做维护工作的程序员会提出的问题。
3.松散耦合 loose coupling 人那个程序各个组成部分之间关联最小。实现手法: 抽象接口,合理封装,信息隐藏等。
4.可扩展性 extensibility : 可以改动系统的一部分而不会影响到其他部分。
5. 可重用性 reusebility : 该系统组成部分能够在其他系统中使用。
6. 高扇入 high fan-in 可以让大量的类使用某个给定的类,系统可以很好的利用较低层次上的工具类。
7.底扇出 low fan-in :一个类少使用其他的类。大于7为高扇出,导致系统复杂。
8.可移植性 protability : 方便地移植到其他环境。
9.精简性 leanness : 没有对于部分,关键问题: “这虽然简单,但把它加进来之后会损害什么呢?"
10.层次性 stratification : 可以在任何层面上观察系统并得到一致性看法。可以在任意参差上观察而不需要进入其他层次。
知识来源:《代码大全2 》
Defined tags for this entry: 学习

0 引用