|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.11.2009, 23:19 | #1 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Динамическое или статическое создание интерфейса?
Вот меня заинтересовал вопрос, например, пишется некая программа на Делфи (ну или на другом ЯП, особо не важно, Делфи - т.к. прогу пишу щас именно на Делфи), и вот как предпочтительней создавать интерфейс(кнопки, имеджы, ну и т.д.), динамически (писать в ручную создание компонента, задавать нужные значения свойств и т.д.) или статически (понакидывать уже сразу на форму все компонентыи т.д.) ?
Если использовать динамику, то выигрыш какой то будет в этом, или токо лишний объем кода прибавится? з.ы. думаю объяснил суть вопроса понятно
Будь проще и люди к тебе потянутся
|
23.11.2009, 23:50 | #2 |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
Мне кажется нет никакого преимущества в динамическом создании.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
|
24.11.2009, 00:29 | #3 |
***
Участник клуба
Регистрация: 30.07.2007
Сообщений: 1,162
|
Наверно смотря как использовать, если эти компоненты сначала в программе не используются, а используются на каком то определённом этапе, то наверно разница есть. Тоже самое как и с формами, либо создавать сразу, либо по мере обращении к ним.
это только моё предположение. |
24.11.2009, 00:56 | #4 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Ну вот насчет того, когда используется я с вами, dr.Chas, согласен.
А вот все же как насчет всего проекта? Как я понял, то большую часть интерфейса нету смыла делать динамической, только лишнее написание кода? Так получается?
Будь проще и люди к тебе потянутся
|
24.11.2009, 09:46 | #5 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
от динамического никуда не денешся, если на api пишешь, а если визуально проектируешь форму, то это только потери времени, за исключением тех случаев, когда вы создаете что-то нестандартное, например несколько контролов внутри других.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation Последний раз редактировалось raxp; 24.11.2009 в 21:19. |
24.11.2009, 09:58 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Я специализируюсь "далеко не на Делфи". Однако, давно сделал вывод, что динамическое создание всевозможных контролов и назначение им "кучи" требуемых свойств оправдано исключительно тогда, когда, по каким-либо причинам, невозможно сделать это заранее (заготовить шаблон, скопировать и т.п.).
Чем шире угол зрения, тем он тупее.
|
24.11.2009, 20:56 | #7 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
И я, и я, и я того же мнения
Действительно, зачем придумывали все эти рад средства, чтобы потом вручную писать и тратить на это время?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
24.11.2009, 22:05 | #8 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Мой вариант еще не видел здесь. Я за динамическое, и только за него, почему ?
1. Ну про диалоги из ресурсов, я их не уважаю, это вообще очень плохо как по мне, кто захочет тот и поменяет ваш диалог в ресурсах. Ну да ладно. 2. Почему динамически ? Ну я новую программу пишу не для 2х и 3х человек + не каждый день штампую + пишутся все контролы (95%) отходя от CFrameWnd (MFC) ну или в дельфи раньше писал от TCustomControl. Т.е. их уникальность, стиль, лекгость в личном использовании, и динамическое расположение на окне на WM_WINDOWPOSCHANGED. 3. Вот простой пример, у меня два окна, 1е - главное (должно всегда существовать), 2е - пусть настройки программы. Пусть 2е окно, загружено графикой, этак на метров 20 (грубо говоря), тогда смысл хранить его всегда в памяти (статически) (даже пускай и не 20 МБ) если пользователь его загрузит может раз в день Разумеется раньше (щас понимаю что из-за высокоуровневого подхода Delphi) использовал "кнопковое" программирование. Как по мне, лучше посидеть дольше, руками все как хочется расположить, чем потом левые TPanel (помню из дельфи) пихать, чтобы статически задать расположение окон. |
24.11.2009, 22:15 | #9 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
Как я понял из вопроса, имелось ввиду создание GUI в design-time или динамически в run-time. Точнее разницы нет, так как все компоненты создаются динамически, ведь дизайнер переводит визуальное оформление в код, который вы, в меру своего садомазахической наклонности можете переписывать (точнее так называемое динамическое). Другое дело если происходит создание контрола по событию, это уже другой вопрос (Это про динамическую загрузку формы). Хотя в принципе изначально GUI создается при событии Create, по мойму.
Цитата:
Ну а в MFC даже путевого дизайнета нет, да и компонентов тоже, следовательно все приходится в ручную создавать. В общем на это и рассчитана данная технология.
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
Последний раз редактировалось SunKnight; 24.11.2009 в 22:23. |
|
24.11.2009, 22:21 | #10 | |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Такс я смотрю мнения разошлись не много.....ну нечего....
Исходя из выше написанного, я понял, что все же динамическое предпочтительнее..... Но опять же, получается, что весь интерфейс строить на динамике(используя VCL Делфи) не есть хорошо..........а вот если юзать API - то естественно динамика на высоте...ну это я так понял все выше изложенное Цитата:
Будь проще и люди к тебе потянутся
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
динамическое создание компонентов | DOLBY | Компоненты Delphi | 10 | 17.10.2010 14:03 |
динамическое содзание компонентов и процедур обработки | Prisian | Компоненты Delphi | 5 | 11.12.2007 21:17 |
Динамическое создание WebBrowser | DragonLand | Работа с сетью в Delphi | 2 | 20.08.2007 21:47 |
Динамическое создание объектов | LepihinMS | Общие вопросы Delphi | 18 | 05.07.2007 23:31 |
Как динамически добавить Мемо на форму? Динамическое создание компонентов! | werser | Помощь студентам | 1 | 14.06.2007 00:39 |