An empirical assessment of the software design pattern concept
Composite design patterns