Насколько я понимаю, и общие определения, которые я знаю, Композиция - это ассоциация, в которой время жизни связанных объектов связано с временем жизни владельца. Агрегация описывает ассоциацию, в которой время жизни агрегированных объектов не зависит от времени жизни владельца. Знакомство совпадает с ассоциацией .
В соответствии с этим определением объект может быть объединен несколькими владельцами в агрегированную ассоциацию.Если ассоциация имеет тип состав , то совместное использование по определению не предназначено.
Ассоциация или знакомство являются более общим описанием взаимосвязи междуобъекты.Так что это зависит от деталей отношений, если один объект может иметь несколько владельцев.Но, будучи общим, это вообще возможно.
Википедия Состав и агрегация объектов
Но я думаю, что существует другое определение, которое было введено Мартином Фаулером.Это тот, кого вы цитировали.Для меня это менее известное определение, так как то, которое я представил, определено в правилах UML, которые широко распространены и стали стандартом де-факто.Согласно определению М. Фаулера агрегация равна композиция , тогда как знакомство соответствует определению UML агрегация .
Таким образом, ответ на ваши вопросы, глядя глазами М. Фаулера: правила композиции применяются, когда речь идет о агрегации Фаулера , что означает наличие нескольких владельцевне может агрегировать одни и те же объекты и с точки зрения знакомства применяются правила в определенной в UML ассоциации агрегация , означающие, что несколько владельцев могут знакомить одни и те же объектынезависимо (от их времени жизни) .0
И, конечно, вы можете создавать экземпляры объекта так часто, как вы хотите, или как память доступна и где вы хотите.Объект или класс является только определением, тогда как экземпляр (в результате создания экземпляра) является фактически выделенной областью памяти для хранения данных объекта (например, полей).Определение класса описывает макет этой выделенной области памяти.