Понимание того, почему расширяющаяся стрелка указывает в противоположном направлении - PullRequest
11 голосов
/ 22 марта 2012

В диаграммах классов я обычно вижу что-то вроде ClassA расширяет ClassB, где стрелка указывает на ClassA Например, здесь, http://bit.ly/GFakDu. Это всегда смущало меня. Почему наконечник стрелки не указывает на ClassB?

enter image description here

Ответы [ 2 ]

19 голосов
/ 23 марта 2012

UML просто неправильно используется на этих диаграммах. Стрелка должна быть треугольником (не открытым), она должна указывать в другом направлении, и она называется реализует, а не реализует. Поэтому, если я не совсем неверно истолковал диаграммы, автор (диаграммы или программного обеспечения, которое их создало) просто не знал, как правильно использовать UML.

В на этой диаграмме (только что найденной поиском) вы можете увидеть правильную визуализацию класса "SearchService", реализующего (реализующий) интерфейс "SiteSearch".

Interface Realization

В на следующей диаграмме несколько классов обобщаются (специализируются, расширяются) классом "Account".

Generalization

На этом сайте вы можете получить обзор (выглядит корректно на первый взгляд). Если вы хотите быть уверены, что вам следует обратиться к спецификации (скачать pdf там).

0 голосов
/ 29 января 2013

Я думаю, что путаница здесь возникает из-за различий в том, как люди относятся к тонкостям английской грамматики.

Некоторые люди могут склоняться к выполнению «неудобного», но токена стандарта UML «расширяют» как «расширяет», в то время как другие завершают его как «расширенный» при просмотре или проектировании диаграммы. Отсюда и различия в интерпретации.

...