Программисты давно заметили, что иногда при проектировании программного обеспечения возникает повторяющаяся проблема. Порой это даже не проблема, а просто ситуация, с которой они сталкиваются снова и снова. Для решения вопросов такого рода были созданы специальные архитектурные конструкции — шаблоны проектирования или дизайнерские...