Читать «Рефакторинг с использованием шаблонов» онлайн - страница 8

Джошуа Кериевски

Эта книга документирует методы реорганизации кода, которые ведут проект как к использованию (или изменению использования) шаблонов, так и к отказу от них. Чтобы помочь понять, в каком направлении следует двигаться, вы можете обратиться к соответствующему разделу главы 3, “Шаблоны”.

История книги

Я начал писать эту книгу примерно в 1999 году. Что же подвигло меня написать книгу о шаблонах, рефакторинге и экстремальном программировании (extreme programming - ХР) [8]?

Во-первых, я был удивлен, что шаблоны не нашли отражения в ХР-литературе. Это убедило меня написать работу Patterns & ХР [20], в которой публично обсуждался предмет и предлагались некоторые советы по объединению этих двух больших сущностей в нашей области знаний.

Во-вторых, я знал, что Мартин Фаулер (Martin Fowler) включил в книгу Refactoring [15] только несколько реорганизаций с использованием шаблонов и ясно высказал надежду, что кто-то напишет больше. Это было стоящей целью.

Наконец, я заметил, что людям из The Design Patterns Workshop (семинара по шаблонам проектирования, который вели мои коллеги и я) требуется большая помощь в определении того, когда именно следует применять шаблон к проекту. Одно дело узнать суть шаблона, и совсем другое — действительно понять, когда и как его следует применять. Я считал, что мои слушатели нуждались в изучении примеров из реальной жизни, в которых применение шаблона к проекту было обоснованным, и так я начал сбор материала для каталога таких примеров.

Как только я начал писать книгу, следуя примеру Брюса Эккела, я поместил приблизительное ее содержание в Web, чтобы обеспечить обратную связь. Это было действительно прекрасной идеей: многие коллеги ответили предложениями по содержанию книги, одобрением и признательностью.

Как только мои тексты и идеи приобрели “товарный вид”, я начал представлять их широкой общественности. Это дало новый поток предложений по улучшению книги и множество идей, необходимых программистам для понимания предмета.

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

Мне повезло: когда мой текст начал больше походить на книгу, чем на длинную статью, многие опытные практики просмотрели мою работу и дали советы по ее улучшению. Все эти люди упоминаются в разделе благодарностей.

Стоя на плечах гигантов

Летом 1995 года, рассматривая в книжном магазине литературные новинки, я впервые наткнулся на книгу Design Patterns [12] и влюбился в шаблоны. Я хочу поблагодарить ее авторов — Эриха Гамму (Erich Gamma), Ричарда Хелма (Richard Helm), с которым я до сих пор не встретился, Ральфа Джонсона (Ralph Johnson) и Джона Влиссайдза Qohn Vlissides) — за написание этого прекрасного произведения. Знания, которыми вы поделились в своей книге, помогли мне, как разработчику программного обеспечения, существенно повысить свой профессиональный уровень.