Здравствуйте, AndrewJD, Вы писали: А>>>>>Если программа состоит из 4-6 диалогов какой смысл тащить wxWindows. T>>Для обсуждаемых объёмов и задачь, эта "низкоуровневость" ни как не скажеться на скорости и сложности реализации. Разве что на суммарном объёме получившегося продукта. AJD>Скажеться на скорости реализации. Хотя бы за счет биндинга котролов к переменным
Ну и представь отношение этого выигрыша хотя бы к времени рисования тех же самых диалогов в редакторе ресурсов — несущественно.
А уж к общему времени — так и говорить не о чем.
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[13]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, Tonal-, Вы писали:
AJD>>Скажеться на скорости реализации. Хотя бы за счет биндинга котролов к переменным T>Ну и представь отношение этого выигрыша хотя бы к времени рисования тех же самых диалогов в редакторе ресурсов — несущественно. T>А уж к общему времени — так и говорить не о чем.
Если мы говорим про 4-6 диалогов то есть о чем.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, Skipper_N, Вы писали:
S_N> У MFC — разделили на типы — для диалоговых окон почему-то нельзя создать меню, записывать в файлы, мало компонентов (даже таймера нет). Зато можно кидать кнопки.
Можно S_N> А если создать приложение типа Document (Single или Multiple) — есть меню, и т.д., но нельзя кидать кнопки!
Нужно делать базовым классом CFormView, а не тот, который стоит по дефолту
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[14]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, AndrewJD, Вы писали: AJD>>>Скажеться на скорости реализации. Хотя бы за счет биндинга котролов к переменным T>>Ну и представь отношение этого выигрыша хотя бы к времени рисования тех же самых диалогов в редакторе ресурсов — несущественно. T>>А уж к общему времени — так и говорить не о чем. AJD>Если мы говорим про 4-6 диалогов то есть о чем.
Можешь дать примерную раскладку по времени с биндингом и без, чтобы было наглядно видно?
Общее время на приложение состоит из: время на создание классов логики.
время на дизайн диалога.
время на логику работы диалога.
время на логику приложения.
Пункт 1 повторён столько раз, сколько классов.
Пункты 2 и 3 повторены столько, сколько диалогов.
Биндинг переменных, как мне кажеться, влияет только на п3.
В общем виде он состаит из подпунктов: инициализация
логика редактирования (отключение/включение, скрытие/показ, и. т.д. для групп контролов)
валидация
сохранение
Если я правильно понимаю, биндинг здесь может заменить пп1,4 на пункт "написание биндинга"
Поправь мою раскладку, и напиши куда и сколько процентов времени ты считаешь занимает каждый из пунктов.
Тогда можно будет более точно оценить что же я считаю "несущественным", а ты наоборот.
P.S. Я не сколько не умоляю достоинства биндинга, просто мне кажеться, что он начинает играть заметную роль хотя бы на нескольких десятках диалогов...
... << RSDN@Home 1.2.0 alpha rev. 786>>
Re[2]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, Went, Вы писали:
W>5. Проблема MFC — его базовая комплектация, поставляемая с вижуалом, по внешнему виду отстала лет так на 5. Меня это дико бесит. Например, вижуал 2005 сам по себе дико гламурный и многоцветный, но почему-то создать ту же красоту на MFC — геморрой дикий. Читал, что исправят в скором будущем.
Re[5]: Неуправляемый код, MFC-проекты и хороший интерфейс
От:
Аноним
Дата:
08.01.08 13:29
Оценка:
Здравствуйте, Skipper_N, Вы писали:
S_N>Здравствуйте, Sashaka, Вы писали:
S>>под MFC написано кучу классов под разные случаи, другое дело что используются они не перетаскиванием иконок на формочку (хотя есть и такие, например ActiveX компоненты), а добавлением соотв. объектов в члены классов итд, на мой взгляд так даже правильнее, потому что думать надо больше головой и писать руками, да и больше понимать как все работает...
S_N> По-моему, удобство разработки — очень важная вещь. Иначе, зачем же делали, чтобы все было так удобно в проектах типа CLR, так же как в C++Builder-e ? А в MFC все неудобство оставили, как есть. Недаром кто-то (уже не помню) писал, что MFC "отстала лет на 5".
S_N> Головой надо думать, работая со своим функционалом, а не с тем, что и как подключается и работает. Если уж так хочется понять, "как все работает" то можно предложить и на ассемблере оболочку писать. Поэтому я, как и большинство разработчиков думаю, что могли бы и создать стандартные вещи способом перетаскивания компонент. На дворе 2007 год...
S_N> Ну да, ладно, можно без перетаскивания, меня убивает другое. Как можно было не предусмотреть совмещения таких стандартных вещей, как меню и контролы! Вот это самое поразительное. УДОБНОГО совмещения. А в книге написано прямым текстом — "В диалоговых приложениях НЕЛЬЗЯ создавать меню, записывать в файл и т.п."
Да ведь дело-то не столько в MFC. Есть стандарты разработки оконного интерфейса для Windows (за подробностями милости прошу в MSDN). И именно эти стандарты, по-меньшей мере не одобряют использование меню в диалогах. Кроме того эти стандарты определяют как должны выглядеть главное окно приложения, меню, окна сообщений.... Другое дело, что сама MS зачастую не следует этим стандартам, но — "жираф большой ему видней".
Re[15]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, Tonal-, Вы писали:
T>Общее время на приложение состоит из: T> T>время на создание классов логики. T>время на дизайн диалога. T>время на логику работы диалога. T>время на логику приложения. T>T>Пункт 1 повторён столько раз, сколько классов. T>Пункты 2 и 3 повторены столько, сколько диалогов.
Правильно. Только для WTL это все тоже необходимо сделать.
T>Биндинг переменных, как мне кажеться, влияет только на п3.
Ага
T>В общем виде он состаит из подпунктов: T> T>инициализация T>логика редактирования (отключение/включение, скрытие/показ, и. т.д. для групп контролов) T>валидация T>сохранение T>T>Если я правильно понимаю, биндинг здесь может заменить пп1,4 на пункт "написание биндинга"
Забыл про третий пункт — валидация. Она тоже есть в МFC. Т.е. на WTL необходимо руками реализовать пункты 1,3,4.
T>P.S. Я не сколько не умоляю достоинства биндинга, просто мне кажеться, что он начинает играть заметную роль хотя бы на нескольких десятках диалогов...
Я всего лишь хочу сказать, что посколку WTL еще более низкоуровневая библиотека, чем MFC — затраты будут больше.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[16]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, AndrewJD, Вы писали:
AJD>Забыл про третий пункт — валидация. Она тоже есть в МFC. Т.е. на WTL необходимо руками реализовать пункты 1,3,4.
В WTL тоже есть — на CodeProject'е точно видел.
T>>P.S. Я не сколько не умоляю достоинства биндинга, просто мне кажеться, что он начинает играть заметную роль хотя бы на нескольких десятках диалогов... AJD>Я всего лишь хочу сказать, что посколку WTL еще более низкоуровневая библиотека, чем MFC — затраты будут больше.
Необязательно. WTL более гибкая, чем MFC.
Sapienti sat!
Re[16]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, AndrewJD, Вы писали:
AJD>>Забыл про третий пункт — валидация. Она тоже есть в МFC. Т.е. на WTL необходимо руками реализовать пункты 1,3,4. C>В WTL тоже есть — на CodeProject'е точно видел.
Возможно в последних версиях добавили
AJD>>Я всего лишь хочу сказать, что посколку WTL еще более низкоуровневая библиотека, чем MFC — затраты будут больше. C>Необязательно. WTL более гибкая, чем MFC.
Более низкоуровневая — более гибкая.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[16]: Неуправляемый код, MFC-проекты и хороший интерфейс
> S>Валидация в MFC реализована настолько погано, что ее все равно приходится переделывать. > > Для простых случаев работает вполне
Простые случаи — это когда в диалоге ровно один валидируемый контрол? Потому что если их хотя бы два, фиг юзер догадается, чего именно у него там за дипазон вылезло.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[16]: Неуправляемый код, MFC-проекты и хороший интерфейс
Здравствуйте, AndrewJD, Вы писали: T>>Если я правильно понимаю, биндинг здесь может заменить пп1,4 на пункт "написание биндинга" AJD>Забыл про третий пункт — валидация. Она тоже есть в МFC. Т.е. на WTL необходимо руками реализовать пункты 1,3,4.
Я, собственно больше про "логическую" валидацию — когда значение одного контрола зависит от значения в другом — всяческие диапазоны, или например когда от текущего выбора радиокнопки зависит может поле ввода быть пустым или нет...
Или это тоже в биндинге декларативно можно написать?
AJD>Я всего лишь хочу сказать, что посколку WTL еще более низкоуровневая библиотека, чем MFC — затраты будут больше.
Да я как бы и не спорю, просто приведи свою раскладку по времени выполнения каждой задачи из списка, и посмотри, на каком количестве диалогов наличие биндинга даст выигрыш хотя бы в 5%