Что лучше: Модуль с 20 функциями или 10 модулей по 2 функц.?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Что лучше: Модуль с 20 функциями или 10 модулей по 2 функц.?

Сообщение Wolfie » 24.01.2007 (Ср) 18:26

Ну встал такой вопрос: пишу dll (точнее собираюсь) с функциями и контролами... и мне удобнее делать по смысловым группам модули по 2-3 функции и так получится штук 20 модулей, а то и 50... Это сильно хуже чем сделать пару-тройку модулей по 20 функций в каждом?... интуитивно чувствую, что чем меньше модулей, тем лучше... но надеюсь, что все же меня кто-нибудь успокоит ))) :lol:
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 24.01.2007 (Ср) 21:15

Как удобней по смыслу так и делай - чтобы потом нужные части логично и просто можно было скопировать в другое приложение.

Функции в модуле будут, надеюсь, не по три строчки каждая?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 24.01.2007 (Ср) 22:52

нет )) но не будет ли это занимать больше памяти и не понизит ли это скорость, ну например скорость обращения к функциям.... если сделаю 40 модулей?
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 25.01.2007 (Чт) 7:34

Wolfie писал(а):нет )) но не будет ли это занимать больше памяти и не понизит ли это скорость, ну например скорость обращения к функциям.... если сделаю 40 модулей?


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

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 25.01.2007 (Чт) 9:51

Сколько сущьностей в программе - столько и модулей.
И нет ничего страшного, если они распределены по 20 модулям.
Для упрощения доступа к функциям можно добавить дополнительные модули - фасады.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 25.01.2007 (Чт) 13:09

Ну встал такой вопрос: пишу dll (точнее собираюсь) с функциями и контролами... и мне удобнее делать по смысловым группам модули по 2-3 функции и так получится штук 20 модулей, а то и 50...


На загрузку каждой DLL, особенно ActiveX DLL, тратиться приличное количество ресурсов системы. Плюс расход реестра на регистрацию десятков COM библиотек. Каждая зарегистрированная библа, хоть и немного, но замедляет работу с реестром, а значит и всей системы в целом. Экономнее надо быть, с ресурсами, они не бесконечны.
Представь, что твою прогу запустят на тяжело загруженном сервере, где каждый килобайт памяти на счету. И возможно, твоя программа станет последней каплей, которая опрокинет всю систему.

p.s. Лучше обойдись вообще без DLL, или одну, две максимум

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.01.2007 (Чт) 18:15

jangle, сосчитай длл-ки в папке Офиса ;-)

Логика, на самом деле, как раз противоположная: чем мельче подробить функциональность по длл-кам, тем меньше памяти будет тратиться на ненужный (в конкретном случае) код, загружающийся в нагрузку к нужному.
Изображение

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Сообщение jangle » 26.01.2007 (Пт) 9:43

jangle, сосчитай длл-ки в папке Офиса


Так вот значит почему офис такой тормозной! Dll hell виноват :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.01.2007 (Пт) 17:26

Ага, а Dll heaven -- это когда рантайм на 20Мб, в котором всё кроме кухонной раковины, и который приходится перевыкачивать целиком каждый раз, когда исправилась одна функция? :twisted:
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2007 (Пт) 17:28

tyomitch, тебе не нравится .NET? :)
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 26.01.2007 (Пт) 17:41

Я трепещу в ужасе от сознания того, что все длл-ки, загружаемые в один процесс, должны быть собраны с одним и тем же FW.

Т.е. если я нашёл где-то старую библиотеку, собранную в VS2002, чей автор потом разочаровался и выпил йаду, то мне в VS2005 ещё использовать ну никак не удастся.

Если это позиционируется как решение Dll-hell, то лучше уж пусть будет Dll-hell...
Изображение

Wolfie
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 213
Зарегистрирован: 06.03.2006 (Пн) 18:52
Откуда: Россия, Москва, СЗАО

Сообщение Wolfie » 26.01.2007 (Пт) 20:56

jangle ну речь-то не о 20 ДЛЛ, а о 20 модулях в одной ДЛЛ!
marvan что такое мордули-фасады?

Вообще, такая раздробленность объясняется тем, что функции мне так удобнее отлаживать, подключая такие модульки к проектам, и не трогая ничего лишнего в отладке.

Но впрочем, Andrey Fedorov и все остальные утешили меня в стремлении сделать как я и хотел - 20 модулей по 3-4 функции - (смысловые семьи)

Всем спасибо)

И все же: Быстрее или медленее - 20 модулей или 2? Можно ли логику ДЛЛ tyomitch'a применить к нутру ДЛЛ?
··•··•••··•··••·•·•·•···••·•••···•···•••·•··•·•··
C:\> per asper ad astra
'ASTRA' answer: Path 'ASPER' Not Found
684 Errare humanum est!
C:\> _


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 117

    TopList