Различия компонентов и классов
№ | Описание |
1 | Классы – логические абстракции, компоненты – физические предметы, которые живут в мире битов. В частности, компоненты могут «жить» в физических узлах, а классы лишены такой возможности. |
2 | Компоненты являются физическими упаковками, контейнерами, инкапсулирующими в себе различные логические элементы. Они – элементы абстракций другого уровня. |
3 | Классы имеют свойства и операции. Компоненты имеют только операции, которые доступны через их интерфейсы. |
О чем говорят эти различия? Во-первых, класс не может «дышать» воздухом физического мира реализации. Ему нужен скафандр. Таким скафандром является компонент.
Во-вторых, им не жить друг без друга – пустые скафандры никому не нужны. Причем в скафандре-компоненте может находиться несколько классов и коопераций. Итак, в скафандре – физической реализации – располагается набор логики. Как показано на рис. 1.2, с помощью отношения зависимости можно явно отобразить отношение между компонентом и классами, которые он реализует. Правда, чаще всего такие отношения не отображаются. Их удобно представлять в компонентной спецификации.
В-третьих, класс – душа нараспашку (он может даже показать свои свойства). Компонент всегда застегнут на все пуговицы (правда, из него торчат интерфейсные разъемы операций).
Интерфейс – список операций, которые определяют услуги класса или компонента. Образно говоря, интерфейс – это разъем, который торчит из ящичка компонента. С помощью интерфейсных разъемов компоненты стыкуются друг с другом, объединяясь в систему.
|
|
· экспортируемый интерфейс – тот, который компонент реализует и предлагает как услугу клиентам;
· импортируемый интерфейс – тот, который компонент использует как услугу другого компонента.
У одного компонента может быть несколько экспортируемых и несколько импортируемых интерфейсов.
Тот факт, что между двумя компонентами всегда находится интерфейс, устраняет их прямую зависимость. Компонент, использующий интерфейс, будет функционировать правильно вне зависимости от того, какой компонент реализует этот интерфейс. Это очень важно и обеспечивает гибкую замену компонентов в интересах развития системы.
Моделирование реализации системы
Реализация системы включает следующие компоненты: исполняемые элементы; динамические библиотеки; файлы данных; справочные документы; файлы инициализации; файлы регистрации; сценарии; файлы установки.
Диаграмма размещения (развертывания) – вторая из двух разновидностей диаграмм реализации UML, моделирующих физические аспекты объектно-ориентированных систем.
|
|
Диаграмма размещения показывает конфигурацию обрабатывающих узлов в период работы системы, а также компоненты, «живущие» в них.
Элементами диаграмм размещения являются узлы, а также отношения зависимости и ассоциации. Как и другие диаграммы, диаграммы размещения могут включать примечания и ограничения. Кроме того, диаграммы размещения могут включать компоненты, каждый из которых должен жить в некотором узле, а также содержать пакеты или подсистемы, используемые для группировки элементов модели в крупные фрагменты. При необходимости визуализации конкретного варианта аппаратной топологии в диаграммы размещения могут помещаться объекты.
Узел – это физический элемент, который существует в период работы системы и представляет компьютерный ресурс, имеющий память, а возможно, и способность обработки. Графически узел изображается как куб с именем
Дата добавления: 2018-02-15; просмотров: 917; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!