Вероятно так:
Обратите внимание, что <<throws>>
не является стандартным стереотипом UML. В этом нет ничего плохого - совершенно нормально определить свой собственный. Если вы хотите придерживаться стандартов, то <<create>>
, вероятно, самый близкий. (См. здесь для списка поддерживаемых стереотипов в UML 2.1).
Вы можете смоделировать MyClass-MyException как простую двоичную ассоциацию, а не как зависимость, но на самом деле она не поддерживается семантически; нет систематических отношений между ними. Аналогично случаю, когда Фабрика создает экземпляры. Есть хорошая статья об отношениях зависимости здесь , если вам нужна дополнительная информация.
это неправильное использование диаграммы классов?
Нет, если вы найдете это полезным. UML - это инструмент: используйте его там, где и как он помогает, игнорируйте его там, где его нет. Показательный пример: педантично, MyClass
не генерирует никаких исключений, один или несколько методов MyClass
генерируют исключение. Так что зависимость это абстракция. Однако до тех пор, как:
- вы - и все, кому еще нужно прочитать модель - понимают это, и
- это полезно
тогда это не злоупотребление, это использование.
НТН.