Pattern-oriented software architecture - Schmidt, Douglas C. (J. Wiley & Sons, 1996)