Як краще поділити на частини великий проект

Як краще поділити на частини великий проект?

Є великий проект (понад 500 тисяч рядків). компілювати всі
в один EXE-шник якось негарно (більш 11Мб). При розбивці на DLL виникає проблема з підключенням до бази. З кожної DLL свій connect НЕ відкриєш - занадто багато connectов до бази вийде. Та й транзакції іноді проходять мало не через усе шматки програми. У різних DLL наскільки я розумію одну транзакцію не обдуриш. До того ж між різними шматками програми йде постійний обмін динамічними даними. Винести код по роботі з DB в одну DLL не напів, так як це 40-50% всього проекту. Ось власне і все. Може є у кого ідеї з приводу поділу проекту на складові.

А збережені процедури не допоможуть в цьому плані?

Здається мені, що позновато вже щось ділити (500 тис - не іграшки). Розпочнеться перекроювання проекту - глюків не оберешся :(

А то, що більше 11 Мб, так це ж страшно. Не буває прог з великою функціональністю і маленьким кодом.

>> Компілювати все в один EXE-шник якось негарно (більш 11Мб)

зате продуктивно - швидкість доступу до ресурсів зростає неймовірно =)

можна розділити на bpl тоді буде один коннесшен

Я балдію в цьому зоопарку.
Панове, ви намагаєтеся ставити діагноз навіть не глянувши на пацієнта.
Я б не поспішав давати слушні поради по перекроювання (це не жартівлива справа) проекту навіть не глянувши на нього. Для початку потрібно дуже ретельно проаналізувати логіку всіх процесів в проекті. Можливо деякі з них вдасться змінити таким чином, що вони перестануть прямо залежати від інших. Це не панацея і навіть не рада. У будь-якому випадку доведеться переписати більшу частину проекту, що займе не один день, а можливо і місяць.
den_777 ви готові до цього?

А можна UPX "ом стиснути.

Залиш код в спокої :)
Якщо прога дійсно потрібна і важлива то 11 метрів - це не такий вже великий розмір. Краще купити пам'яті :)))
Яка то прога на Delphi яка 2 + 2 складає (якщо вірити TaskManager) займає під 2 метри :(

Спасибі всім хто поділився своєю думкою.
1 Постараюся коротко відповісти. Збережені процедури не допоможуть, тому що супроводжувати їх завжди важче, ніж виправити SQL # 032; в TQuery.
2 Глюки вони завжди були, є і будуть. Перекроювати проект на ходу я не збирався. Питаю для того щоб в майбутньому хоча б знати як такий проект можна переписати. 11 Мб дійсно не страшно, але програма до кінця не написана і розвивається. Ще рік тому було лише 8 Мб. І дуже не хочеться, щоб ще через рік програма була на 15-20 Мб. У мене на ком'ютера багато програм встановлено, але таких EXEшніков ні у кого немає.
3 Спеціально для stone. Дійсно без знання суті проекту важко дати слушну пораду. Але наскільки міг я проект описав. До перебудови проекту завжди готовий. "Загальмовує проект не перебудова, а можливий шлях в глухий кут".
4 Ігор Шевченко - щось я не зрозумію, чого я повинен був остерігатися. Я хотів дізнатися думки інших програмістів. Я їх пізнав.
5 Карелін Артем спасибі велике, але суті проблеми це не вирішує. Все-таки хотілося б розділити проект на складові.

Пам'ять: 0.74 MB
Час: 0.025 c

Схожі статті