Обзор шаблонов проектирования
Книге Паттерны проектирования: Приемы объектно-ориентированного проектирования уже лет двадцать. Если вы прямо сейчас не читаете книгу через мое плечо, есть вероятность, что, когда вы будете читать эту книгу, Паттерны проектирования будут такими старыми, что за это будет стоить выпить. Для такой быстро меняющейся индустрии как программирование - это практически вечность. Неугасающая популярность книги свидетельствует о том, что проектирование - это значительно меньше подверженная влиянию времени вещь, чем большинство технологий, языков и методологий.
И, хотя я до сих пор считаю Паттерны проектирования актуальными, за прошедшие десятилетия мы все-таки кое-чему научились. В этом разделе мы пройдемся по самым удачным из оригинальных шаблонов, задокументированных "Бандой Четырех". Смею надеяться, что мне есть, что добавить полезного о каждом из них.
Некоторые шаблоны я считаю слишком переоцененными (Синглтон (Singleton)), а другие наоборот недооцененными (Команда (Command)). Еще парочку я сюда включил, потому что они особенно удачно подходят для применения в играх (Приспособленец (Flyweight) и Наблюдатель (Observer)). И, наконец, на мой взгляд иногда просто интересно посмотреть, как шаблоны путают с другими областями программирования (Прототип (Protorype) и Состояние (State)).