Design patterns in Java (The Software Pattern Series / Addison-Wesley Publishing Company, Inc.., 2006)