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+

E+
E+
E+
E+
E-
E-
C-
C-
C-
C-

 
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+

E+
E+
E+
E+
E+
E+
E-
C-

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+

E+
C-
E+
E-
E- 

E0
E-
C+
C+
C+
  E- C+
E-
18
(+11,-6)
Strategy C+
C+
C+
C+
    C+
E+

E+
E+
E-
E-
C-

    E-
C+
C+

 
C+
C-
16
(+11,-5)
Template Method

  C+
C+
E+

E+
E+
E+
E+
C-
C-
C-
C-


  C+

 

12
(+8,-4)
Visitor

C+
  C+

E+
E+

 

E+
E+
E+
E-
C+
E-
E+

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.