powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Циклические связи классов
21 сообщений из 21, страница 1 из 1
Циклические связи классов
    #37773858
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Известный прием удаление циклических связей классов - это выделение у одного из классов родительского.
Пример https://docs.google.com/open?id=0B19WBINYOdkuejVRWU1hclZjQTA
Слева циклические связи, справа - после преобразования. В связи с чем у меня два вопроса:
1. Всегда ли любую схему классов можно избавить от циклических связей?
2. В данном примере выделен супер-класс "справа", понятно, что в данном абстрактном примере разницы нет никакой, но в реальных ситуациях, какие критерии выделения "слева или справа" или даже у обоих?

С уважением, Naf
...
Рейтинг: 0 / 0
Циклические связи классов
    #37773939
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf,

лучше все объединить и назвать "библиотекой", забив на всякие там "классы" :)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37774193
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf...какие критерии выделения "слева или справа" или даже у обоих?...

тут фигня такая.
если слушать дождь - то можно услышать мелодию баха или бетховена...

если о матрёшках.
а можете привести пример циклической связи из жизни?

ну например.
кошка пьёт молоко. молоко как воздействует на кошку???
или по другому. молоко должнО знать о кошке?

Чиссо моё имхо.
Цикличность - есть трабл архитектуры. И смотреть на задачу с позиции механики(когда и где нужно выделять парэнта, для того что бы убрать зацикленность), с позиции инструментария - мягко говоря не правильно.


с уважением
(круглый)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37774206
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Naf...какие критерии выделения "слева или справа" или даже у обоих?...

тут фигня такая.
если слушать дождь - то можно услышать мелодию баха или бетховена...

если о матрёшках.
а можете привести пример циклической связи из жизни?

ну например.
кошка пьёт молоко. молоко как воздействует на кошку???
или по другому. молоко должнО знать о кошке?

Чиссо моё имхо.
Цикличность - есть трабл архитектуры. И смотреть на задачу с позиции механики(когда и где нужно выделять парэнта, для того что бы убрать зацикленность), с позиции инструментария - мягко говоря не правильно.


с уважением
(круглый)

Ну пример так пример. Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37774244
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf...Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить)

ок.
учитель должен владеть ситуацией, ученик=сложность задания.
а вот ученик вряд ли может выбрать контролёра на свою задачу :)
так что от ученика нужно(даже это под вопросом) натификация только. об учителе он знать не обязан. он делает (задание), он сообщает(или не сообщает а чиссто по времени и отвалил). он может вообще положить тетрадочку воооон туда апосля. более того, если он у доски работает - то судьи кто? прально - другие ученики. Т.е. имеем ещё одну сущность - задание, как минимум. через которую собственно и взаимодействуют ученик+учитель. Но ещё раз повторю - учитель владеет ситуацией процесса. а вот ученик - вряд ли, иначе он аля учитель получается. что противоречит бизнес модели всегда.

так что на мой взгляд - тут связь не равнозначная.

(круглый)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37774318
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Naf...Учитель сообщает ученику задание (учитель знает об ученике), ученик решает задание и говорит его ни кому нибудь, а именно своему учителю (ученик знает, кому надо сообщить)

ок.
учитель должен владеть ситуацией, ученик=сложность задания.
а вот ученик вряд ли может выбрать контролёра на свою задачу :)
так что от ученика нужно(даже это под вопросом) натификация только. об учителе он знать не обязан. он делает (задание), он сообщает(или не сообщает а чиссто по времени и отвалил). он может вообще положить тетрадочку воооон туда апосля. более того, если он у доски работает - то судьи кто? прально - другие ученики. Т.е. имеем ещё одну сущность - задание, как минимум. через которую собственно и взаимодействуют ученик+учитель. Но ещё раз повторю - учитель владеет ситуацией процесса. а вот ученик - вряд ли, иначе он аля учитель получается. что противоречит бизнес модели всегда.

так что на мой взгляд - тут связь не равнозначная.

(круглый) всё правильно Вы пишите, именно это и отражает переход от схемы слева к схеме справа на рисунке в начале темы
...
Рейтинг: 0 / 0
Циклические связи классов
    #37774344
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf...именно это и отражает переход от схемы слева к схеме справа на рисунке в начале темы

ну, Вам виднее...

(круглый)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37779405
Alexsalog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цикличность это когда например на суперформе размещается суперкнопка и в описании суперкнопки есть поле - ссылка на суперформу. так что ли ?
...
Рейтинг: 0 / 0
Циклические связи классов
    #37779871
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexsalogЦикличность это когда например на суперформе размещается суперкнопка и в описании суперкнопки есть поле - ссылка на суперформу. так что ли ?трудно понять Вашу мысль, но скорее да ))
...
Рейтинг: 0 / 0
Циклические связи классов
    #37779960
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0,
+1
---------
"Среди двоих всегда есть главный".
Т.е. из предметной области надо исходить и банальной важности сущности для бизнеса.
Например связь
Заказчики ---Заказы.
Можно по разному в CMS системе и другой.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37784843
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0учитель должен владеть ситуацией, ученик=сложность задания.
а вот ученик вряд ли может выбрать контролёра на свою задачу :)

Анекдот: дочь Путина собирается поступать в институт. Конкурс 15 институтов на место.

Так и в случае со школой. Если это школа молодых талантов и учителя бывшие звезды эстрады, то и учитель выбирает ученика и ученик выбирает учителя. И общаться они будут tet-a-tet.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37784844
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf
1. Всегда ли любую схему классов можно избавить от циклических связей?


А вы с какой целью интересуетесь? (с)

Naf2. В данном примере выделен супер-класс "справа", понятно, что в данном абстрактном примере разницы нет никакой, но в реальных ситуациях, какие критерии выделения "слева или справа" или даже у обоих?

Я бы шел путем введения интерфейсов. Класс может реализовывать несколько интерфейсов.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37786164
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neodddЯ бы шел путем введения интерфейсов. Класс может реализовывать несколько интерфейсов.
угу, только как потом маппить это всё на ОРМ-СУБД?
...
Рейтинг: 0 / 0
Циклические связи классов
    #37786743
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123угу, только как потом маппить это всё на ОРМ-СУБД?

угу, надо подробно требования смотреть. Может и нет там ORM, а может ORM умная
...
Рейтинг: 0 / 0
Циклические связи классов
    #37787668
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neodddа может ORM умная
да как-то всё попадаются тупые, что ОРМ, что РСУБД с 3-мя степенями нормализации :)
Я считаю, что это к лучшему - заставляет упрощать модель и связи классов.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37791349
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neoddd...Если это школа молодых талантов и учителя бывшие звезды эстрады, то и учитель выбирает ученика и ученик выбирает учителя. И общаться они будут tet-a-tet.

Вы правы. Но заметьте: появилось слово если ! Это что значит? Что мы начали говорить о коне в вакууме. А не о конкретной задаче. Посему я и спросил - нарисуйте задачу. А гипотетически можно всё что хошь нахфантазировать. И почти всё будет иметь место, лишь потому, что это придумано человеком!!!

Только идё от задачи - мы никогда (заметьте!!!) не будем делать лишнюю работу. Т.е. если клиент говорит вот так и так по задаче. Что это значит? Это значит что время жизни этих сущностей ну оооооочень велико по отношению к проекту. Понимаете? Т.е. могут рушаться стены, меняться цвет стен, а вот найденные от жизни сущности = const!!!

это один из(не единственный естественно) самых главных плюсов данной методологии - уменьшения затрат на переделку, допиливание, подгонку под клиента. Её просто НЕТ!!!


удачи вам
(круглый)
ЗЫ
Я не говорю что это просто, кстати. До конца понять и прочуствовать можно только пройдя весь путь по бучу. Т.е. сущности, роли, состояния, взаимодействия, карточки, рисунки на доске и мнооооого обсуждения. без этого увы - никак в кол-ве (подчеркну обязательное применение) разработчиков. И это необходимо организовывать. Стихийно нифига не будет само. Но это уже управление людьми
...
Рейтинг: 0 / 0
Циклические связи классов
    #37793452
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0Но это уже управление людьми

Да. Плохо только, что невозможно управлять заказчиком. Точно в середине проекта, прямо перед релизом подходят все из себя гордые своей гениальностью и говорят, что осознали потребность в супер нужной бла-бла-бла и теперь без этого нельзя дальше двигаться. А на предложение пересмотреть сроки и оплату начинают так нервничать, что жалко их убогих становится, ведь и вправду ни одной клеточкой мозга не понимают, как оно там все завязано внутри.

Приходиться изворачиваться. И вот тут-то и оказывается, что жесткие связи лучше бы были мягкими, потому что жесткие связи в принципе оптимизируют систему, а нам приходится универсализировать. Разные задачи.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37799392
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
neoddd...осознали потребность в супер нужной...

Вы внимательно прочитайте что Вы написали!!!
"осознали потребность в супер нужной" - т.е. речь идёт не о том, что бизнес поменялся!!! не о том, что раньше разводили кроликов а сейчас будем учитывать паровозы!!!

надеюсь намёк поняли?


расшифровываю.
ООА и ООП есть ваше спасение. как не странно звучит - это ЕДИНСТВЕННАЯ технология которая даёт СТАТИЧЕСКУЮ модель на ВСЕЙ протяжённости жизни ПРОЭКТА!!! т.е. не только на стадии программирования. понимаете? т.е. Гради Буч что толкует? Слушать клиента, и опираясь на ЕГО представление о сущностях(ИЗ ЖИЗНИ!!!) строить классы, связи и прочую шнягу... Это есть = CONST ВСЕГДА!!!! Это и есть ответ на вашу жалобу. Консерватория у вас дохлая...

т.е. это не он лох... это вам нужно ПРИМЕНЯТЬ РАБОЧУЮ МЕТОДИКУ!

Другое дело - почему вы это не делаете. - хз...

удачи вам
(круглый)
...
Рейтинг: 0 / 0
Циклические связи классов
    #37799437
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0...
это ЕДИНСТВЕННАЯ технология которая даёт
...

Не думаю, что единственная и тем более, что всегда. Мы сейчас больше сервис-ориентированные решения делаем.

kolobok0Другое дело - почему вы это не делаете. - хз...

удачи вам
(круглый)

Ну дык. Как обычно. Наверху не шевелятся и нам не дают. Потом клюет петух в одно место и начинается беготня. Это только у Буча и Ко в книжках все легко. Мы пытаемся с пользователями user-stories формировать, так часто отвечают, что у них на это нет ни желания ни времени, мол это - наша работа. И что, книжкой Буча им по башке настучать?
...
Рейтинг: 0 / 0
Циклические связи классов
    #37799510
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0...
бизнес поменялся!!!
...


Есть и это. То партнер поменяется, а у другого все через другую ж. То меняются правила/стандарты. А то пробуют новые подходы и часто эксперементируют. Так что иногда очень быстро надо дорабатывать или отцеплять функционал.
...
Рейтинг: 0 / 0
Циклические связи классов
    #37799691
neoddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0...
даёт СТАТИЧЕСКУЮ модель на ВСЕЙ протяжённости жизни ПРОЭКТА!!!
...


Ну и напоследок. Тут капитализму 500 лет и многие компании отмечают сотенные юбилеи. Мне понятно, куда меня отправят с такими идеями.

На этом считаю тему раскрытой.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Циклические связи классов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]