Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перекрестные ссылки [D7, WinXP]


Страницы:   1 2 3

Andrushk ©   (2005-09-14 13:13:00) 

У нас на работе считается плохим стилем использовать перекрестные ссылки между модулями. Никто толком не знает что в них плохого, но глюки часто списывают на них:-)
Хотелось бы услышать мнение человека, который четко представляет проблему, есть какие-то негативные последствия использования перекрестных ссылок в модулях?
Заранее спасибо.


Джо   (2005-09-14 17:39:00) [21]


>  [24] Andrushk   (14.09.05 17:35)
> Что лучше?

Лучше когда по уму :) А если для развития широты взгляда на вопрос, то очень рекоммендую к прочтению С. Макконнелл. Совершенный код.


Reindeer Moss Eater   (2005-09-14 17:39:00) [22]

>Но вот зависимости нет, все здорово...

Где же здорово, ели твой датамодуль знает какие контролы находятся в других формах и как их зовут.

Это и называется зависимостью модулей.


Andrushk   (2005-09-14 17:35:00) [23]

2Джо ©   (14.09.05 17:23) [22]

Ну это понятно...
Но вот зависимости нет, все здорово...
Но датамодуль нечитаемый:-)
Что лучше?


Andrushk   (2005-09-14 17:25:00) [24]

2 Reindeer Moss Eater ©   (14.09.05 17:20) [21]

Может и туго, но я вот пытаюсь учиться, а Вы вместо помощи отписываетесь чем-то больше похожим на едкие насмешки:-)


Джо   (2005-09-14 17:23:00) [25]


>  [20] Andrushk   (14.09.05 17:20)
> Кстати, в свое время хотели разгрузить датамодуль, сделать
> два а может и три, а то просто неудобно стало. Но от идеи
> отказались, как раз из-за перекрестных ссылок.

Вот потому-то я и сказал, что увеличивает взаимную зависимость.


Reindeer Moss Eater   (2005-09-14 17:20:00) [26]

Понятно, что с проектированием у вас туго.


Andrushk   (2005-09-14 17:20:00) [27]

Кстати, в свое время хотели разгрузить датамодуль, сделать два а может и три, а то просто неудобно стало. Но от идеи отказались, как раз из-за перекрестных ссылок.


Andrushk   (2005-09-14 17:19:00) [28]

Reindeer Moss Eater ©   (14.09.05 17:02) [18]

Ну да, ссылается, сходу не скажу по какой конкретно причине, не я писал, но факт есть факт, какие-то данные с формы понадобились в обработчике в датамодуле...

А что именно понятно?


Reindeer Moss Eater   (2005-09-14 17:02:00) [29]

Код модуля данных ссылается на модули форм?
Ну тогда понятно почему все свалили на перекрестные ссылки.


Andrushk   (2005-09-14 16:58:00) [30]

Я когда вопрос задавал, писал что глюки часто сваливают на перекрестные ссылки.

Так вот пример. В одном из приложений есть у нас датамодуль, сколько там наборов данных не считал, но вобщем в разрешении 1280x1024 форма занимает весь экран и там датасет на датасете лежит, местами в два слоя:-)

Естественно что все формы его юзают. Но на определенном этапе жизни приложения появились и ссылки из датамодуля на формы...

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

Свалили на перекрестные ссылки. Никто с этим не сталкивался?


Игорь Шевченко   (2005-09-14 16:04:00) [31]

Andrushk   (14.09.05 15:58) [14]


> Почему плохо на Ваш взгляд?


Потому что общие вещи лучше объединить и вынести в третий модуль, на который ссылаться из первых двух.


Джо   (2005-09-14 15:59:00) [32]

Усиливают зависимость.


Andrushk   (2005-09-14 15:58:00) [33]

Reindeer Moss Eater ©   (14.09.05 14:51) [12]
Ваше мнение понятно, спасибо :-)

Игорь Шевченко ©   (14.09.05 14:53) [13]

Именно так.
Почему плохо на Ваш взгляд?


Игорь Шевченко   (2005-09-14 14:53:00) [34]

Насколько я понял, перекрестные - это когда два модуля ссылаются друг на дурга ? Таки да, плохо.


Reindeer Moss Eater   (2005-09-14 14:51:00) [35]

Это дело вкуса.
Либо вопрос корпоративного стандарта проектирования.

А мои рекомендации такие - как можно меньше зависимостей между модулями и формами.


Andrushk   (2005-09-14 14:45:00) [36]

Reindeer Moss Eater ©   (14.09.05 14:35) [10]

Т.е. вся проблема только в читабельности программы?
И всетаки, есть какая-нибудь литература по данной тематике, которую Вы могли бы рекомендовать?


Reindeer Moss Eater   (2005-09-14 14:35:00) [37]

Т.е. я могу предположить что использование перекрестных ссылок изменяет размер программы. Так?

Никак не меняет.
Нет никаких ссылок внутри готовой программы.


Andrushk   (2005-09-14 14:34:00) [38]

Reindeer Moss Eater ©   (14.09.05 14:21) [6]

Ок, а где можно почитать про то, как делфи обрабатывает такие ссылки.
Т.е. если Вы пишите "Просто потому, что никаких перекрестных ссылок в работающих программах нет." значит код как-то преобразуется?
Т.е. я могу предположить что использование перекрестных ссылок изменяет размер программы. Так?


Andrushk   (2005-09-14 14:30:00) [39]

2Digitman ©   (14.09.05 14:23) [7]

Формы при том, что стандартно одна форма - один юнит.
Как пример: формы должны использовать поля друг друга.
Как вариант взаимодействия - перекресные ссылки.
Я могу конечно свой конкретный пример привести, но решил придумать этот, так как он проще.


Digitman   (2005-09-14 14:23:00) [40]


> Andrushk   (14.09.05 14:18) [5]


при чем здесь вообще какие-то там "формы" ?

речь идет о МЕЖМОДУЛЬНЫХ ссылках !

а уж что там в этих модулях декларировано - формы или не формы - значения НЕ имеет НИкакого.


> интересует что плохого в перекрестной ссылки


ничего плохого в перекрестных ссылках нет.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо