Pattern-oriented Software Architecture For Dummies by Robert Hanmer