В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Новое издание этой весьма популярной книги было полностью переработано автором с целью отразить все те значительные изменения, которые произошли в объектно-ориентированной методологии с момента выхода предыдущего, второго издания (1991 г.). В частности, большое внимание здесь уделяется многоуровневому проектированию и компонентной технологии, языкам Java и UML.
Эта книга адресована программистам, работающим в Visual Studio 2005, использующим С++/СОМ и собирающимся перейти на ATL 8. Эти разработчики создают приложения, которые должны работать на любых системах, начиная с Windows 95, со слишком старыми процессорами и малыми объемами памяти для .NET. Они не могут позволить себе роскошь тратить драгоценные ресурсы на сбор мусора, JIT-компиляцию или на огромные библиотеки, набитые ненужными им классами.