The art of objects: object-oriented design and architecture - Lau, Yun-Tung. (Addison-Wesley, 2000)