Addison Wesley.Contributing to Eclipse: Principles, Patterns, and Plug-Ins  By Erich Gamma, Kent Beck