Summary:
The Impact of Design Patterns on Software Quality Attributes
|
Pattern |
Code Complexity
|
Code Coupling
|
Comprehensibility
|
Correctness
|
Extensibility
|
Flexibility
|
Maintainability
|
Modifiability
|
Modularity
|
Performance
|
Reusability
|
Usability
|
Understandability
|
Cohesion
|
Total
|
| Abstract Factory |
|
C+ | E+ | C- C- |
C+ C+ |
E- | 6 (+4,-3) |
||||||||
| Adapter | E+ | C+ | C+ | 13 (+7,-6) |
|||||||||||
| Bridge | C+ | C+ | E+ E+ |
E+ | E+ | C+ | C+ | 8 (+8) |
|||||||
| Builder | C+ | E+ | E- |
C+ C+ C+ |
6 (+4,-2) |
||||||||||
| Chain of Responsibility | E+ | E+ | E0 |
C+ |
E- | 5 (+3,-1) |
|||||||||
| Command | C- | C+ | E+ | E+ E+ E+ E+ E- E- C- C- |
C+ C+ |
C- | 14 (+8,-6) |
||||||||
| Composite | C- | E+ | C- | C+ | E+ | E0 | C+ | E- | C- | 17 (+10,-6) |
|||||
| Decorator | C- | C- C- C0 |
E+ C+ |
E+ E+ E+ E+ E+ E- E- C- |
C+ | C- | 16 (+8,-7) |
||||||||
| Facade | E+ | C+ C+ C+ |
4 (+4) |
||||||||||||
| Factory Method | C+ | C+ | E+ | E+ E+ E- C- E- C- |
C0 | C+ C+ |
C+ | E- | 14 (+8,-5) |
||||||
| Flyweight | E+ | C+ | 2 (+2) |
||||||||||||
| Interpreter | E+ | C+ C0 |
3 (+2) |
||||||||||||
| Iterator | E+ | E- C- |
C+ C+ |
5 (+3,-2) |
|||||||||||
| Mediator | E+ | E+ E+ |
E- | 4 (+3, -1) |
|||||||||||
| Memento | E+ | C+ |
2 (+2) |
||||||||||||
| Observer | C- | E+ | C- C- C- |
E+ | E+ E+ E+ E+ E+ E- E+ E- C- C- |
C0 | C+ C+ E+ C+ |
C- | 22 (+12,-9) |
||||||
| Prototype | C- C- |
E+ | E+ E+ E+ E+ E- C- |
C+ C+ |
C+ | 12 (+8,-4) |
|||||||||
| Proxy | E+ | C+ | 2 (+2) |
||||||||||||
| Singleton | E+ | C0 | E+ |
E+ E+ E- C- E- C- C- C- |
C0 |
C+ C+ |
14 (+6,-6) |
||||||||
| State | C+ E+ E+ |
C+ |
E+ | E0 | E- C+ C+ |
C+ |
E- | C+ E- |
18 (+11,-6) |
||||||
| Strategy | C+ C+ C+ |
C+ |
C+ |
E+ | E- C+ C+ |
C+ C- |
16 (+11,-5) |
||||||||
| Template Method | C+ |
C+ |
E+ | C+ |
12 (+8,-4) |
||||||||||
| Visitor | C+ |
C+ |
|
C+ C0 |
13 (+10,-2) |
||||||||||
| Total | 7 (+7) |
7 (+3,-4) |
7 (+7) |
12 (+2,-8) |
8 (+8) |
25 (+25) |
97 (+49,-48) |
3 (+1) |
3 (0) |
42 (+37,-3) |
4 (+4) |
2 (-2) |
3 (-3) |
9 (+3,-6) |
Note that A capital letter represents the study type (E-Controlled experiment, C-Case study). The symbols +, -, and 0 indicate that the design pattern had a Positive, Negative, or Neutral impact respectively.
Last Updated on September 12, 2012.