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

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

куча query,table и т.д.


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

zdm ©   (2006-08-10 10:11:00) 

Всем привет, как Вы думаете, что лучше взять один компонент(ну допустим query или table) и во всем коде проги пытатсься работать только с ним(что в принципе можно ,,, не считая ситуаций если какие-то компоненты отображения инфы БД явно подвязаны), или лучше не напрягаться , и на каждую таблицу или процедуру, функцию, вьювер,,,создать отдельные компоненты, привязать их к элементам отображения и жить спокойно(понятное дело ОЗУ очень ценная вещь), но насколько это рентабильно.....?


Ega23   (2006-08-11 18:36:00) [1]


> Вот прийдёт новичёк, посадишь его за машину и пущай изучает
> проэкт, можно засекать время...


Проект закрыт, если чё.

Собственно, там одих Action-ов штук 100. Их куда прикажете выносить? В dll?


Neo Trinitron   (2006-08-11 18:34:00) [2]

> И что? У меня модуль главной формы на 8000 строк кода. Там на 3 экрана только описание компонентов. И ничё, нормально работает.

Вот прийдёт новичёк, посадишь его за машину и пущай изучает проэкт, можно засекать время...А если там ещё и датасеты есть, то вообще полный алес среди этой шелухи. Имхо 8000 строк кода в одной форме - ненормальный случай. У меня была такая форма, всё что мог вынес в отдельный модуль в виде процедур, функций, объектов, чтобы под ногами не путалось. Датасеты и всю их начинку, естественно в датамодуль...Остались в модуле формы те же преславутые три-четыре экрана. И когда я уходил с работы я обучал парнишу, обучение заняло 30 минут. Описание всех функций и процедур успешно он изучил сам и систему понял довольно таки быстро...Результаты, однако.


Ega23   (2006-08-11 18:08:00) [3]


> В модуле формы стало кода всего на три экрана, до модернизации
> было 7 (!) экранов.


И что? У меня модуль главной формы на 8000 строк кода. Там на 3 экрана только описание компонентов. И ничё, нормально работает.


Neo Trinitron   (2006-08-11 17:57:00) [4]

Ega23,

>а нахрена создавать дата-модуль, если можно на форму положить???

Если до сих пор не понадобилось, то уже и не понадобится...

evvcom,

>За 10 лет ни разу? Интересно, что ж ваш отдел (группа) пишет, "Hello World"?

Очевидно не то что пишете Вы, но это не значит что я пишу "Hello Word". Если такой умный и опытный, зачем делать такие глупые предположения? Попытка рассказать что у меня дурацкий стиль программирования? А ещё не терпите обезъянью работу, но похоже обезъяньи развлечения рулят, я угадал?

Я тоже мог бы рассказывать что кидать на форму датасеты, обработчики событий датасетов и прочий прилегающий код - дилетанство, потому что мне так не удобно, но я же не делаю так! Зато приходилось разгребать код где на формах валяются датасетов куча. Вынес всё в датамодули, стало реально видно логику самой формы. В модуле формы стало кода всего на три экрана, до модернизации было 7 (!) экранов. Извините, но меня никто не переубедит что так как Вы предлагаете удобнее. Я датамодули строю по принципу классов: выделяю общности, включаю датамодули с общностями в датамодули реализации отдельной подсистемы. Кажется что всё сложно, на самом деле к датамодулям общим я практически никогда не обращаюсь при разработке: один раз сделал там всё и открываю редко, по мере необходимости, а к датамодулям подсистем я обращаюсь чаще, но там отсутствует куча датасетов, которые являются общими и которые меня мало интересуют. Это же обыкновенный принцип ООП... Не понятны затруднения...


evvcom   (2006-08-11 17:18:00) [5]

> Я, например, с такой ситуацией не сталкивался

За 10 лет ни разу? Интересно, что ж ваш отдел (группа) пишет, "Hello World"?

> [35] Ega23 ©   (11.08.06 17:13)

И я о том же... Все, ушел...


ANB   (2006-08-11 17:18:00) [6]

Я обычно делаю так - статику в дата-модуль. Динамику - на форму или вообще в воздухе оставляю (главное - не забыть грохнуть).
Если сама форма динамическая, то проще на нее все и покидать. Хотя все равно придется вязать к статической сессии в дата-модуле.


Ega23   (2006-08-11 17:13:00) [7]

Вопрос: а нахрена создавать дата-модуль, если можно на форму положить???


Neo Trinitron   (2006-08-11 17:02:00) [8]

>А в коде формы ты к датамодулю как обращаешься?

Можно сделать типа этого: в форме локальная переменная

 MyDataModule: TMyDataModule;
...

procedure TForm1.Create...;
begin
  MyDataModule: TMyDataModule.Create...
...
end;

Не лучший вариант, многое зависит от задач и способов реализации. Я, например, с такой ситуацией не сталкивался, но если прийдётся, не проблема.


evvcom   (2006-08-11 16:52:00) [9]

> Кто Вам мешает создать динамически второй датамодуль для
> второй формы?

А в коде формы ты к датамодулю как обращаешься?


Ega23   (2006-08-11 16:43:00) [10]


>
> По поводу форм. Кто Вам мешает создать динамически второй
> датамодуль для второй формы? Или я не понимаю о чём речь.
> ..
>


Речь о повторном использовании кода.


Neo Trinitron   (2006-08-11 15:59:00) [11]

evvcom,

Это Ваш стиль программирования, а то мой, спорить имхо глупо.

>Вот обезьянью
>работу я и пытаюсь избегать по возможности

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

По поводу форм. Кто Вам мешает создать динамически второй датамодуль для второй формы? Или я не понимаю о чём речь...


Lexiy   (2006-08-11 13:47:00) [12]

угу понял ... спасибо :)


evvcom   (2006-08-11 13:25:00) [13]

> [28] Lexiy   (11.08.06 13:15)
> грубо говоря такая байда куда можно

правильно

> а доступ в юнитах

стандартно через объект-наследник от TDataModule


Lexiy   (2006-08-11 13:15:00) [14]

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


Lexiy   (2006-08-11 13:13:00) [15]

evvcom
а материалы по работе ??? или в примерах поискать ?


evvcom   (2006-08-11 12:54:00) [16]

> [23] Neo Trinitron ©   (11.08.06 10:15)
> 1. Совершенно не понял что такое форма конкретного класса...

Очень странно, учитывая 10 летний стаж. Например, создаем форму-справочник TMyForm, которая связана с датасетом на датамодуле. Открываем в приложении этот справочник: TMyForm.Create(Application).Show;. Создаем какую-то 2-ую форму TForm2, которая использует справочник класса TMyForm, но используя дополнительно какой-то фильтр данных. Каково будет решение? Создать еще один объект этого конкретного классаTMyForm, наложив нужные фильтры или использовать уже созданный объект-форму, испортив своими фильтрами прежний вид формы? И что в этом случае делать с НД?
2. Подсистемы разные бывают...
3. Заметь есть разница между "трудно найти" и "еще нужно найти". Кроме того, я упомянул про D7, где переключаться для этого вовсе необязательно.

> смотрю Uses
> Ctrl+клик мышей

+ клик на датасете

> Что тут сложного? Уровень дрессированной обезьяны

Вот обезьянью
работу я и пытаюсь избегать по возможности. В моем же случае только "клик на датасете". Я уже писал, что форму я не перегружаю подобными компонентами, потому искать их ну очень просто.

> Попробуйте так, не пожалеете.

Пробовал когда-то. Кажется во 2-ой или 3-ей версии они появились. Но даже 10-15 пар dataset-datasource на одном датамодуле меня раздражали сложностью визуального поиска нужного компонента. Сейчас у меня есть один датамодуль, на котором лежат DBSession, ConnectDialog, ImageList и 4 общих глобальных датасета. Все.

> [24] Lexiy   (11.08.06 12:14)
> помогите не просвещеному все понял кроме понятия дата модуль
> ... что за зверь

Файл - New - Data Module


Lexiy   (2006-08-11 12:16:00) [17]

кстати хочется добавить к 16 ... вариант рисовки запросов в Query чреват долгим поиском его по форме ... сам не любил пока их в программе не стало больше 30 :)


Lexiy   (2006-08-11 12:14:00) [18]

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


Neo Trinitron   (2006-08-11 10:15:00) [19]

evvcom,

1. Совершенно не понял что такое форма конкретного класса...
2. Поскольку для каждой подсистемы свой датамодуль, то датасетов на нём не так уж и много и каждый из них кстати подписан. Ещё скажи что на обычной форме один датасет чем-то визуально отличается от другого...
3. Трудно найти? Странно! Мне легко! Открываю нужную форму, смотрю Uses, там находится обычно модуль типа UDM... Это и есть датамодуль, Ctrl+клик мышей по этому модулю и нужный датамодуль открыт. Что тут сложного? Уровень дрессированной обезьяны. :) Кроме того, куча неинтересного кода работающего с базой реализовано в датамодуле, что даёт вполне понятные преимущества, скрывая его от разработчика.

Могу с полной уверенностью сказать что от этой методы не отойду ни за что. За 10 лет мытарств дошёл до этого, чему очень рад. Попробуйте так, не пожалеете.


Sergey13   (2006-08-11 09:38:00) [20]

> [21] evvcom ©   (11.08.06 09:29)

Большие и сложные проекты вообще труднее писАть, чем маленькие и простые. (из личного опыта)
8-)


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

Наверх

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