Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Евгений / идз1 / Пособие_Об_анал1.doc
Скачиваний:
16
Добавлен:
31.03.2015
Размер:
1.1 Mб
Скачать

Механизм повторного использования #3: представления

Рассмотрим повторное использование на множестве приложений.

В данном случае речь идет об управлении представлением. Можно применить ограничение на основе использования или (еще лучше) средство управления конфигурацией, основанной на конк­ретном представлении.

Представления, применение "ограничения на основе использования"

Экземпляр товара нужен Предпринимателю (и магазин и центр заказов). Похоже, их что-то объединяет.

Вопрос в том, как выразить эту общность. Один из способов — "ограничение на основе использо­вания". Нужно добавить к модели класс ограничения для каждого использования в каждом приложе­нии (рис. 2.6).

Рис. 2.6. Ограничение на основе использования

Экземпляр товара ограничивается до экземпляра товара в пункте продажи, экземпляра товара на складе и экземпляра товара в заказе.

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

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

Если единственное средство повторного применения — наследование, его стоит применить. Однако существует более эффективный способ.

Представления, применение средства управления конфигурацией, основанной на представлении.

Что здесь главное: наследование, представление или некая базовая модель?

Только не наследование, так как в этом случае каждое приложение стало бы еще одним ограниче­нием по совпадению, и влияние изменений породило бы реальную проблему. Наследование непри­емлемо для выполнения задачи, суть которой связана с управлением представлениями.

Несомненно, повторное использование для множества приложений — это дело управления пред­ставлением. Лежащая в основе модель включает в себя все классы и обязанности. Каждое приложе­ние — это представление.

Имея средство управления конфигурацией, связанной с конкретным представлением, для каждо­го класса можно выбирать подмножество обязанностей, необходимое для конкретного приложения.

Такой подход к повторному использованию по своему уровню превышает синтаксические воз­можности языка программирования. Один из допустимых путей решения проблем состоит в том, чтобы считать, что каждый элемент модели имеет связанный с ним "флаг применения". Работая с конкретным приложением, вы работаете с элементами, помеченными этим флагом.

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

Повторное использование в рамках приложения, рассматриваемого в этой главе

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

Соседние файлы в папке идз1