Зависимости использования

Существует пять зависимостей использования: «use», «call», «parameter», «send» и «instantiate», каждая из которых рассматривается ниже.

Зависимость «use»
Самым распространенным стереотипом зависимости является «use», который просто обозначает, что клиент каким-то образом использует поставщика. Если на диаграмме указана просто пунктирная линия со стрелкой зависимости без стереотипа, можно быть совершенно уверенным, что подразумевается зависимость «use».
Эта зависимость генерируется любой из следующих ситуаций.
1. Операции класса A необходим параметр класса B.
2. Операция класса A возвращает значение класса B.
3. Операция класса A гдеето в своей реализации использует объект класса B, но не в качестве атрибута.
Варианты 1 и 2 довольно просты, а вот вариант 3 представляет больший интерес. Такая ситуация возможна, если одна из операций класса А создала временный объект класса В. Ниже приводится фрагмент Java кода для этого случая:

class A
{
      …
      void doSomething()
            {
                B myB = new B();
               // используем myB некоторым образом
                …
             }
}

Хотя одна зависимость «use» может использоваться как универсальная для всех трех перечисленных случаев, есть и другие, более специализированные стереотипы зависимостей, которые можно было бы применить.
Ситуации 1 и 2 можно более точно смоделировать с помощью зависимости «parameter», а ситуацию 3 – с помощью зависимости «call». Однако от UML-модели не часто требуется такой уровень детализации, и большинство разработчиков моделей считают, что намного понятней и проще просто устанавливать между соответствующими классами зависимость «use», как показано выше.

Зависимость «call»
Зависимость «call» (вызов) устанавливается между операциями – операция-клиент вызывает операцию-поставщик. Этот тип зависимости в UML-моделировании используется не очень широко. Он применяется на уровне детализации, более глубоком, чем тот, на который большинство разработчиков готовы пойти. Кроме того, в настоящее время очень немногие средства моделирования поддерживают зависимости между операциями.

Зависимость «parameter»
Поставщик является параметром операции клиента.

Зависимость «send»
Клиент – это операция, посылающая поставщика (который должен быть сигналом) в некоторую неопределенную цель. Пока будем представлять их как особые типы классов, используемые для передачи данных между клиентом и целью.

Зависимость «instantiate»
Клиент – это экземпляр поставщика.

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code