ВУЗ:
Рис. 6.10. Шаблон Publisher – Subscriber
Рис. 6.11. Шаблон Container – Component
Еще одним примером шаблона проектирования программного обеспечения является Container – Component (Контейнер
– Компонент). Он воплощает обобщенную концепцию контейнера, содержащего компоненты, которые, в свою очередь, так-
же могут быть контейнерами (рис. 6.11). Примером использования этого шаблона может служить иерархия каталогов или
папок, создаваемая программой управления файлами операционной системы. Каждый из этих каталогов обычно содержит дру-
гие каталоги, которые также могут содержать каталоги, и т.д. Короче говоря, шаблон Container – Component служит для описания
рекурсивной концепции контейнеров, содержащих такие же контейнеры.
После того как структура шаблонов, подобных Publisher – Subscriber или Container – Component, будет определена, раз-
работчики программного обеспечения выполняют разработку каркасных программных элементов, называемых структура-
ми, в которых реализуются основные особенности решений, предлагаемых шаблонами. Тогда как реализация специфических
функций, присущих конкретным приложениям, откладывается на более поздний срок за счет организации соответствующих
слотов, подлежащих заполнению конкретными значениями. Как дополнение к структурам, разработчики программного
обеспечения обычно предлагают документацию, описывающую, как следует заполнять эти структуры в целях получения
завершенной реализации положенного в ее основу шаблона в рамках конкретной разработки. Такую документацию называют
рецептом, поэтому подборки структур вместе с их рецептами шутливо именуют кулинарными книгами.
Исследователи надеются, что с помощью кулинарных книг разработчики программного обеспечения получат, наконец,
возможность конструировать большие сложные системы программного обеспечения из готовых компонентов, таких как
структуры. Первые результаты показали, что при разработке новой системы такой подход позволяет значительно уменьшить
необходимый объем программирования.
Несмотря на ажиотаж, вызванный в сообществе разработчиков программного обеспечения вокруг шаблонов проектиро-
вания, интересно отметить, что сам Александер не был удовлетворен результатами использования его шаблонов в архитек-
туре. Он обнаружил, что системам, разработанным на основе его шаблонов, недостает индивидуальности, и поэтому с начала
80-х направил все свои усилия на поиск путей включения в новые разработки этого ускользающего качества. Однако разра-
ботчики программного обеспечения сходятся на том, что при разработке программного обеспечения важна не красота и ин-
дивидуальность, а прежде всего, точность и эффективность. Поэтому, считают они, применение шаблонов проектирования в
области создания программного обеспечения окажется более успешным, чем в архитектуре.
Вопросы для самопроверки
1. Предположим, что секретарь получает просьбы о предоставлении встреч с его боссом. Действия секретаря заключа-
ются или в назначении встречи на ближайшие дни, или в немедленном предоставлении желаемой встречи. Нарисуйте схему
потоков данных, представляющую эту часть работы секретаря.
2. Нарисуйте диаграмму "сущность – связь", представляющую авиационные компании; полеты, выполняемые каждой
компанией; и пассажиров различных рейсов.
Страницы
- « первая
- ‹ предыдущая
- …
- 151
- 152
- 153
- 154
- 155
- …
- следующая ›
- последняя »