|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Известный прием удаление циклических связей классов - это выделение у одного из классов родительского. Пример https://docs.google.com/open?id=0B19WBINYOdkuejVRWU1hclZjQTA Слева циклические связи, справа - после преобразования. В связи с чем у меня два вопроса: 1. Всегда ли любую схему классов можно избавить от циклических связей? 2. В данном примере выделен супер-класс "справа", понятно, что в данном абстрактном примере разницы нет никакой, но в реальных ситуациях, какие критерии выделения "слева или справа" или даже у обоих? С уважением, Naf ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 12:09 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Naf, лучше все объединить и назвать "библиотекой", забив на всякие там "классы" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 12:34 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Naf...какие критерии выделения "слева или справа" или даже у обоих?... тут фигня такая. если слушать дождь - то можно услышать мелодию баха или бетховена... если о матрёшках. а можете привести пример циклической связи из жизни? ну например. кошка пьёт молоко. молоко как воздействует на кошку??? или по другому. молоко должнО знать о кошке? Чиссо моё имхо. Цикличность - есть трабл архитектуры. И смотреть на задачу с позиции механики(когда и где нужно выделять парэнта, для того что бы убрать зацикленность), с позиции инструментария - мягко говоря не правильно. с уважением (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 14:03 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0Naf...какие критерии выделения "слева или справа" или даже у обоих?... тут фигня такая. если слушать дождь - то можно услышать мелодию баха или бетховена... если о матрёшках. а можете привести пример циклической связи из жизни? ну например. кошка пьёт молоко. молоко как воздействует на кошку??? или по другому. молоко должнО знать о кошке? Чиссо моё имхо. Цикличность - есть трабл архитектуры. И смотреть на задачу с позиции механики(когда и где нужно выделять парэнта, для того что бы убрать зацикленность), с позиции инструментария - мягко говоря не правильно. с уважением (круглый) Ну пример так пример. Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 14:06 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Naf...Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить) ок. учитель должен владеть ситуацией, ученик=сложность задания. а вот ученик вряд ли может выбрать контролёра на свою задачу :) так что от ученика нужно(даже это под вопросом) натификация только. об учителе он знать не обязан. он делает (задание), он сообщает(или не сообщает а чиссто по времени и отвалил). он может вообще положить тетрадочку воооон туда апосля. более того, если он у доски работает - то судьи кто? прально - другие ученики. Т.е. имеем ещё одну сущность - задание, как минимум. через которую собственно и взаимодействуют ученик+учитель. Но ещё раз повторю - учитель владеет ситуацией процесса. а вот ученик - вряд ли, иначе он аля учитель получается. что противоречит бизнес модели всегда. так что на мой взгляд - тут связь не равнозначная. (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 14:17 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0Naf...Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить) ок. учитель должен владеть ситуацией, ученик=сложность задания. а вот ученик вряд ли может выбрать контролёра на свою задачу :) так что от ученика нужно(даже это под вопросом) натификация только. об учителе он знать не обязан. он делает (задание), он сообщает(или не сообщает а чиссто по времени и отвалил). он может вообще положить тетрадочку воооон туда апосля. более того, если он у доски работает - то судьи кто? прально - другие ученики. Т.е. имеем ещё одну сущность - задание, как минимум. через которую собственно и взаимодействуют ученик+учитель. Но ещё раз повторю - учитель владеет ситуацией процесса. а вот ученик - вряд ли, иначе он аля учитель получается. что противоречит бизнес модели всегда. так что на мой взгляд - тут связь не равнозначная. (круглый) всё правильно Вы пишите, именно это и отражает переход от схемы слева к схеме справа на рисунке в начале темы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 14:43 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Naf...именно это и отражает переход от схемы слева к схеме справа на рисунке в начале темы ну, Вам виднее... (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2012, 14:49 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Цикличность это когда например на суперформе размещается суперкнопка и в описании суперкнопки есть поле - ссылка на суперформу. так что ли ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2012, 17:41 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
AlexsalogЦикличность это когда например на суперформе размещается суперкнопка и в описании суперкнопки есть поле - ссылка на суперформу. так что ли ?трудно понять Вашу мысль, но скорее да )) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2012, 08:36 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0, +1 --------- "Среди двоих всегда есть главный". Т.е. из предметной области надо исходить и банальной важности сущности для бизнеса. Например связь Заказчики ---Заказы. Можно по разному в CMS системе и другой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2012, 10:07 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0учитель должен владеть ситуацией, ученик=сложность задания. а вот ученик вряд ли может выбрать контролёра на свою задачу :) Анекдот: дочь Путина собирается поступать в институт. Конкурс 15 институтов на место. Так и в случае со школой. Если это школа молодых талантов и учителя бывшие звезды эстрады, то и учитель выбирает ученика и ученик выбирает учителя. И общаться они будут tet-a-tet. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2012, 23:25 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Naf 1. Всегда ли любую схему классов можно избавить от циклических связей? А вы с какой целью интересуетесь? (с) Naf2. В данном примере выделен супер-класс "справа", понятно, что в данном абстрактном примере разницы нет никакой, но в реальных ситуациях, какие критерии выделения "слева или справа" или даже у обоих? Я бы шел путем введения интерфейсов. Класс может реализовывать несколько интерфейсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2012, 23:27 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
neodddЯ бы шел путем введения интерфейсов. Класс может реализовывать несколько интерфейсов. угу, только как потом маппить это всё на ОРМ-СУБД? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2012, 16:32 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
Petro123угу, только как потом маппить это всё на ОРМ-СУБД? угу, надо подробно требования смотреть. Может и нет там ORM, а может ORM умная ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2012, 13:02 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
neodddа может ORM умная да как-то всё попадаются тупые, что ОРМ, что РСУБД с 3-мя степенями нормализации :) Я считаю, что это к лучшему - заставляет упрощать модель и связи классов. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2012, 12:50 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
neoddd...Если это школа молодых талантов и учителя бывшие звезды эстрады, то и учитель выбирает ученика и ученик выбирает учителя. И общаться они будут tet-a-tet. Вы правы. Но заметьте: появилось слово если ! Это что значит? Что мы начали говорить о коне в вакууме. А не о конкретной задаче. Посему я и спросил - нарисуйте задачу. А гипотетически можно всё что хошь нахфантазировать. И почти всё будет иметь место, лишь потому, что это придумано человеком!!! Только идё от задачи - мы никогда (заметьте!!!) не будем делать лишнюю работу. Т.е. если клиент говорит вот так и так по задаче. Что это значит? Это значит что время жизни этих сущностей ну оооооочень велико по отношению к проекту. Понимаете? Т.е. могут рушаться стены, меняться цвет стен, а вот найденные от жизни сущности = const!!! это один из(не единственный естественно) самых главных плюсов данной методологии - уменьшения затрат на переделку, допиливание, подгонку под клиента. Её просто НЕТ!!! удачи вам (круглый) ЗЫ Я не говорю что это просто, кстати. До конца понять и прочуствовать можно только пройдя весь путь по бучу. Т.е. сущности, роли, состояния, взаимодействия, карточки, рисунки на доске и мнооооого обсуждения. без этого увы - никак в кол-ве (подчеркну обязательное применение) разработчиков. И это необходимо организовывать. Стихийно нифига не будет само. Но это уже управление людьми ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2012, 16:42 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0Но это уже управление людьми Да. Плохо только, что невозможно управлять заказчиком. Точно в середине проекта, прямо перед релизом подходят все из себя гордые своей гениальностью и говорят, что осознали потребность в супер нужной бла-бла-бла и теперь без этого нельзя дальше двигаться. А на предложение пересмотреть сроки и оплату начинают так нервничать, что жалко их убогих становится, ведь и вправду ни одной клеточкой мозга не понимают, как оно там все завязано внутри. Приходиться изворачиваться. И вот тут-то и оказывается, что жесткие связи лучше бы были мягкими, потому что жесткие связи в принципе оптимизируют систему, а нам приходится универсализировать. Разные задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2012, 15:58 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
neoddd...осознали потребность в супер нужной... Вы внимательно прочитайте что Вы написали!!! "осознали потребность в супер нужной" - т.е. речь идёт не о том, что бизнес поменялся!!! не о том, что раньше разводили кроликов а сейчас будем учитывать паровозы!!! надеюсь намёк поняли? расшифровываю. ООА и ООП есть ваше спасение. как не странно звучит - это ЕДИНСТВЕННАЯ технология которая даёт СТАТИЧЕСКУЮ модель на ВСЕЙ протяжённости жизни ПРОЭКТА!!! т.е. не только на стадии программирования. понимаете? т.е. Гради Буч что толкует? Слушать клиента, и опираясь на ЕГО представление о сущностях(ИЗ ЖИЗНИ!!!) строить классы, связи и прочую шнягу... Это есть = CONST ВСЕГДА!!!! Это и есть ответ на вашу жалобу. Консерватория у вас дохлая... т.е. это не он лох... это вам нужно ПРИМЕНЯТЬ РАБОЧУЮ МЕТОДИКУ! Другое дело - почему вы это не делаете. - хз... удачи вам (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2012, 16:34 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0... это ЕДИНСТВЕННАЯ технология которая даёт ... Не думаю, что единственная и тем более, что всегда. Мы сейчас больше сервис-ориентированные решения делаем. kolobok0Другое дело - почему вы это не делаете. - хз... удачи вам (круглый) Ну дык. Как обычно. Наверху не шевелятся и нам не дают. Потом клюет петух в одно место и начинается беготня. Это только у Буча и Ко в книжках все легко. Мы пытаемся с пользователями user-stories формировать, так часто отвечают, что у них на это нет ни желания ни времени, мол это - наша работа. И что, книжкой Буча им по башке настучать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2012, 16:46 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0... бизнес поменялся!!! ... Есть и это. То партнер поменяется, а у другого все через другую ж. То меняются правила/стандарты. А то пробуют новые подходы и часто эксперементируют. Так что иногда очень быстро надо дорабатывать или отцеплять функционал. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2012, 17:06 |
|
Циклические связи классов
|
|||
---|---|---|---|
#18+
kolobok0... даёт СТАТИЧЕСКУЮ модель на ВСЕЙ протяжённости жизни ПРОЭКТА!!! ... Ну и напоследок. Тут капитализму 500 лет и многие компании отмечают сотенные юбилеи. Мне понятно, куда меня отправят с такими идеями. На этом считаю тему раскрытой. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2012, 18:12 |
|
|
start [/forum/topic.php?fid=33&msg=37773939&tid=1547851]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 444ms |
0 / 0 |