Форум: "Прочее";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизА что такое агрегация? Найти похожие ветки
← →
Petr V. Abramov © (2007-11-19 16:17) [0]В соседней ветке Сусл © спросил, слышал ли я про нее что-нибудь, а я не слышал. Не хочу дальше дураком расти, объясните, что это такое, кому не сложно.
← →
БарЛог © (2007-11-19 16:18) [1]А википедия на что?
← →
Anatoly Podgoretsky © (2007-11-19 16:18) [2]> Petr V. Abramov (19.11.2007 16:17:00) [0]
Он случайно не про множественное наследование против аггрегирование?
← →
Johnmen © (2007-11-19 16:19) [3]Хм... А онлайн словари никак?
← →
clickmaker © (2007-11-19 16:30) [4]наверно это процесс превращения в агрегат
← →
Ломброзо © (2007-11-19 16:42) [5]
interface IInner
{
void foo();
}
class Inner implements IInner
{
public void foo()
{
print "Inner::foo()";
}
}
class Outer implements IInner
{
IInner _inner;
Outer()
{
_inner = new Inner();
}
public void foo()
{
_inner.foo();
}
}
← →
pasha_golub © (2007-11-19 16:45) [6]
> Ломброзо © (19.11.07 16:42) [5]
Не по теме будет сказано, но как же эти ваши фигурные скобочки глаз ломают. Ну просто жуть. :)
← →
clickmaker © (2007-11-19 16:45) [7]
> [6] pasha_golub © (19.11.07 16:45)
>
> > Ломброзо © (19.11.07 16:42) [5]
>
> Не по теме будет сказано, но как же эти ваши фигурные скобочки
> глаз ломают. Ну просто жуть
ниче ты не понимаешь в колбасных обрезках :)
← →
Ломброзо © (2007-11-19 16:46) [8]Бегом к офтальмологу! )
← →
Kolan © (2007-11-19 17:17) [9]> А что такое агрегация?
Это подтип отношения ассциации.
← →
Kolan © (2007-11-19 17:25) [10]Предвосхищая вопрос «а зачем она нужна?»
— Нужна она для моделирования отношения часть/целое.
А еще есть композиция, процитирую:
«
Композиция. Агрегирование является простой концепцией с достаточно глубокой семантикой. Простое агрегирование — чисто концептуальное отношение, оно лишь позволяет отличить „целое“ от „части“ (см. главу 5), но не изменяет смысла навигации по ассоциации между целым и его частями и не накладывает никаких ограничений на соотношение времен жизни целого и частей.
Однако существует вариация простого агрегирования — композиция, которая добавляет к семантике агрегирования новые важные особенности (для моделирования композиции используются атрибуты, см. главы 4 и 9). Композицией называется форма агрегирования с четко выраженным отношением владения, причем время жизни частей и целого совпадают. Части с нефиксированной кратностью могут быть созданы уже после самого композита, но, будучи созданы, живут и умирают вместе с ним. Впрочем, части могут быть удалены явным образом еще до уничтожения композита.
Это означает, что в случае композитного агрегирования объект в любой момент времени может быть частью только одного композита. Например, в оконной системе класс Frame (Рама) принадлежит только одному классу Window (Окно), тогда как при простом агрегировании „часть“ может принадлежать одновременно нескольким „целым“. Скажем, в модели дома объект Стена может принадлежать нескольким объектам Комната.
Кроме того, в композитном агрегировании целое отвечает за диспозицию своих частей, то есть композит должен управлять их созданием и уничтожением. Например, создав объект Frame в системе окон, вы должны присоединить его к объемлющему окну. Когда объект Window удаляется, он в свою очередь должен уничтожить принадлежащие ему объекты Frame.
»
← →
Ломброзо © (2007-11-19 17:41) [11]План Путина?
← →
clickmaker © (2007-11-19 17:43) [12]
> [11] Ломброзо © (19.11.07 17:41)
> План Путина?
агрегация? или композиция?
← →
Ломброзо © (2007-11-19 17:46) [13]Не. Первый абзац цитаты потряс мой продолговатый мозг. Трижды заставил вчитаться.
Ради интереса глянул, что же про аггрегирование гласит MSDN:
"Aggregation means that the containing (outer) object creates the contained (inner) object as part of its creation process and the interfaces of the inner object are exposed by the outer".
Хоть и по-английски, но как-то понятнее.
← →
clickmaker © (2007-11-19 17:49) [14]
> "Aggregation means that the containing (outer) object creates
> the contained (inner) object as part of its creation process
> and the interfaces of the inner object are exposed by the
> outer".
это напоминает "оружие хранится в комнате для хранения оружия"
← →
Kolan © (2007-11-19 17:51) [15]> аггрегирование гласит MSDN:
это термин UML, поэтому если хотите истину ишите её на OMG.com.creates the contained (inner) object as part of its creation process
В итоге тут описана композиция, насколько я понимаю…
ЗЫ
UML язык не только для прогрпммирования(ООА/ООП), поэтому для программиривания многие понятия по сути одно и тоже. Обычно пользуются термином «композиция».
← →
Kolan © (2007-11-19 17:54) [16]Если пользоваться Together, то ему вообще побарабану, какая ассоциация, для него нет разницы…
← →
clickmaker © (2007-11-19 18:00) [17]если начать переводить с буржуйского слова "aggregate" & "composite", выяснится, что по сути это одно и то же
"собирать в одно целое; собираться"
"составление, формирование"
← →
lookin © (2007-11-19 18:20) [18]> [14] clickmaker © (19.11.07 17:49)
это напоминает "оружие хранится в комнате для хранения оружия"
Вовсе не такой удачный пример. На самом деле та англ. фраза четко определяет термин "аггрегация", уж как бы не звучало тавтологично само это определение... И потому свою функцию выполняет. А если необходимо, то можно чуточку переделать фразу: оружие (см.) хранится в комнате (см.) для хранения (см.) оружия. И все будет совсем тип-топ...
← →
Черный Шаман (2007-11-19 19:24) [19]
> Petr V. Abramov © (19.11.07 16:17)
>
> В соседней ветке Сусл © спросил, слышал ли я про нее что-
> нибудь, а я не слышал. Не хочу дальше дураком расти, объясните,
> что это такое, кому не сложно.
Включение данных/объекта другого класса, как свойства (возможно с разрешением внешнего доступа).
Понавыдумывали слов всяких мудреных. В русском языке есть понятие включение, вот это оно и есть.
← →
Черный Шаман (2007-11-19 19:25) [20]
> Ломброзо © (19.11.07 16:46) [8]
>
> Бегом к офтальмологу! )
А вам срочно к проктологу...
← →
Kolan © (2007-11-19 21:26) [21]> В русском языке есть понятие включение, вот это оно и есть.
Причём тут русский язык? Ненадо подменять. Это язык UML, все жестко определено. Читайте спецификацию http://www.omg.org .
← →
Сусл © (2007-11-19 23:49) [22]флуд, Петр.
почитай GoF. Я УВЕРЕН, ЧТО ТЫ ЕГО НЕ ЧИТАЛ.
Hint: GoF - неплохое поисковое слово по сабжу
← →
Константинов © (2007-11-20 01:25) [23]Агрегация - способ "уплотнения" ан-лимит каналов Интернет-пользователей в канал с полосой меньшей суммы полос в N раз. Число N называется коэффициентом агрегации. :)
Пример: Есть полоса от интернет-провайдера = 2 мб/с. Вы ставите роутер и продаете восьмерым пользователям, указывая в договоре "ан-лимит на скорости 2 мб/с" и берете с них чуть дешевле, чем покупаете у провайдера. В результате, юзеры (иногда) видят пики до 2-х Мб/с, но все остальное время скорость доступа в сеть гораздо меньше заявленной.
Вы в шоколаде, юзеры довольны, провайдер курит бамбук (вы не нарушаете, как вам кажется, условий договора).
ЗЫ: Практически весь интернет-провайдинг построен на подобных схемах. Дабы все это не превратилось в золотое дно, государством введено лицензирование услуг связи. Без лицензии и кучи очень геморрных разрешительных документов, подобный бизнес - уголовно наказуемое деяние. Опасно для здоровья. :)
← →
Kolan © (2007-11-20 09:02) [24]> Агрегация — способ «уплотнения» ан-лимит каналов
Мда… облать применения термина нодо было автору саюжа уточнить…
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.043 c