Я просматриваю свои знания в объектно-ориентированном программировании. В рамках отношения между темами классов я столкнулся с некоторыми отношениями, которые немного неоднозначны для меня.
Я знаю, что зависимость "uses-a" и наследование "is-a", но я немного незнакома с Aggregation, Composition, Association и Direct Association; также, какая из них - "есть-а". Некоторые используют Агрегацию взаимозаменяемо с Ассоциацией.
Что такое Direct Association? Кроме того, что такое композиция? В диаграммах UML стрелки, которые представляют их, различны. Я был бы очень благодарен, если бы вы могли прояснить это для меня.