crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Паттерны проектирования, вопросики
AD
  опции профиля:
сообщение 27.5.2008, 22:49
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Читал книжку Э.Гамма, Р.Хелма и др. "Паттерны проектирования". Так там используются два термина, разницы которых я лично не вижу, это Композиция и Агрегирование. Объясните, пожалуйста, простым языком, в чем разница-то?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 28.5.2008, 10:40
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Так кто-нибудь знает ключевое различие этих терминов? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrew Selivanov
  опции профиля:
сообщение 28.5.2008, 13:45
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 249
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 3

Спасибо сказали: 15 раз(а)




Репутация:   6  


Цитата(AD @ 28.5.2008, 11:40) *
Так кто-нибудь знает ключевое различие этих терминов? :)

Агрегация - когда целое содержит часть (агрегат)
Композиция - когда целое содержит часть и контролирует время жизни этой части
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 11.7.2008, 8:39
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


то Andrew Selivanov
Агрегирование подразумевает, что один объект владеет другим или несет за него ответственность.
В общем случае мы говорим, что объект содержит другой объект или является его
частью. Агрегирование означает, что агрегат и его составляющие имеют одинаковое время жизни.
Агрегированный объект - объект, составленный из подобъектов. Подобъекты называются частями агрегата, и агрегат отвечает за них.

Композиция объектов - объединение нескольких объектов для получения бо-
лее сложного поведения.

;) :blink:

то AD

Композиция ОБЪЕКТОВ
Агрегированный ОБЪЕКТ.

и как следствие принципиальная разница в интерфейсах. я так думаю +
Композиция - больше, логическое объединение, а Агрегирование - жестко функциональное.

Сообщение отредактировал ЙаМайскЫйПчОЛ - 11.7.2008, 8:42
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 22.7.2008, 8:45
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(ЙаМайскЫйПчОЛ @ 11.7.2008, 9:39) *
то Andrew Selivanov
Агрегирование подразумевает, что один объект владеет другим или несет за него ответственность.
В общем случае мы говорим, что объект содержит другой объект или является его
частью. Агрегирование означает, что агрегат и его составляющие имеют одинаковое время жизни.
Агрегированный объект - объект, составленный из подобъектов. Подобъекты называются частями агрегата, и агрегат отвечает за них.

Композиция объектов - объединение нескольких объектов для получения бо-
лее сложного поведения.

;) :blink:

то AD

Композиция ОБЪЕКТОВ
Агрегированный ОБЪЕКТ.

и как следствие принципиальная разница в интерфейсах. я так думаю +
Композиция - больше, логическое объединение, а Агрегирование - жестко функциональное.

Спасибо! Кажется, врубился. Читал раз 5, но в итоге понял. :) Объяснение толковое (мне понравилось)! ;) :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 9.8.2020, 5:22