Вот перечень шагов, которые помогут вам эффективно применить паттерн:
- Прочитайте описание паттерна, чтобы получить о нем общее представление. Особое внимание обратите на разделы «Применимость» и «Результаты» - убедитесь, что выбранный вами паттерн действительно подходит для решения ваших задач.
- Вернитесь назад и изучите разделы «Структура», «Участники» и «Отношения». Убедитесь, что понимаете упоминаемые в паттерне классы и объекты и то, как они взаимодействуют друг с другом.
- Посмотрите на раздел «Пример кода», где приведен конкретный пример использования паттерна в программе. Изучение кода поможет понять, как нужно реализовывать паттерн.
- Выберите для участников паттерна подходящие имена. Имена участников паттерна обычно слишком абстрактны, чтобы употреблять их непосредственно в коде. Тем не менее бывает полезно включить имя участника как имя в программе. Это помогает сделать паттерн более очевидным при реализации. Например, если вы пользуетесь паттерном стратегия в алгоритме размещения текста, то классы могли бы называться SimpleLayoutStrategy или TeXLayoutStrategy.
- Определите классы. Объявите их интерфейсы, установите отношения наследования и определите переменные экземпляра, которыми будут представлены данные объекты и ссылки на другие объекты. Выявите имеющиеся в вашем приложении классы, на которые паттерн оказывает влияние, и соответствующим образом модифицируйте их.
- Определите имена операций, встречающихся в паттерне. Здесь, как и в предыдущем случае, имена обычно зависят от приложения. Руководствуйтесь теми функциями и взаимодействиями, которые ассоциированы с каждой операцией. Кроме того, будьте последовательны при выборе имен. Например, для обозначения фабричного метода можно было бы всюду использовать префикс Create-.
- Реализуйте операции, которые выполняют обязанности и отвечают за отношения, определенные в паттерне. Советы о том, как это лучше сделать, вы найдете в разделе «Реализация». Поможет и «Пример кода».
Все вышесказанное - обычные рекомендации. Со временем вы выработаете собственный подход к работе с паттернами проектирования.
Изменяемые паттернами элементы дизайна |
Никакое обсуждение того, как пользоваться паттернами проектирования, нельзя считать полным, если не сказать о том, как не надо их применять. Нередко за гибкость и простоту изменения, которые дают паттерны, приходится платить усложнением дизайна и ухудшением производительности. Паттерн проектирования стоит применять, только когда дополнительная гибкость действительно необходима. Для оценки достоинств и недостатков паттерна большую помощь могут оказать разделы каталога «Результаты».