Как представить отношение агрегации между двумя классами в UML, чтобы каждый класс имел ссылку на интерфейс другого класса, а не на реализующий класс?
например. У меня есть класс Foo, который реализует iFoo, и Bar, который реализует iBar. Foo должна иметь переменную-член типа iBar, а Bar должна иметь переменную-член типа iFoo.
Если я создаю агрегацию между двумя реализующими классами, тогда член будет иметь тип реализующего класса, а не суперкласса. И агрегаты между интерфейсами недопустимы в UML (и не имеют особого смысла).