Software Architecture Design Patterns in Java - Partha Kuchana (Taylor and Francis, 2004)