В обсуждении моего ответа на этот question было высказано некоторое несогласие с тем, как моделировать этот код:
public class MainClass
{
private Something something;
public void Action()
{
OtherClass other = something.GetOtherClass();
}
}
Ключевыми моментами являются:
- класс
Something
- это атрибут вMainClass
, предлагающий ассоциацию - класс
Something
ссылается наMainClass
, указывая на зависимость - Предполагается, что зависимость является специализированной ассоциацией
Однако, поскольку зависимость может быть уместна в случаях, когда класс поставщика не является атрибутом, использует ли зависимость "скрыть" намерение, что Something
является атрибутом, а не просто ссылкой?
Кроме того, ассоциация, представляющая атрибут в классе, подразумевает зависимость, поскольку она хранится (и предположительно ссылается и используется каким-то образом).
Итак,, ссылаясь на вышеприведенные моменты, связана ли ассоциация с зависимостью и как вы моделируете приведенный выше код на диаграмме классов?