Приемы объектно-ориентированного проектирования. Паттерны проектирования: научное издание - Гамма, Э. Эрих (Библиотека программиста, 2009)