Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Пара вопросов по дизайну WinAPI-приложений |
Автор: EnergoHokum 1.8.2008, 08:46 | ||
Вопрос простой: правильно-ли я делаю ![]() При написании чего-нить на WinAPI я использую такую структуру приложения:
Мне очень не нравится наличие большого количества глобальных переменных (handle-ов). А избавиться от них не получается, т. к. приходится постоянно из функций обработки сообщений посылать сообщения другим control-ам. Есть-ли лекарство от этого? И вопрос второй: нормально-ли наличие большого количества сабклассированных control-ов (с точки зрения производительности)? |
Автор: NiJazz 1.8.2008, 13:14 |
Для оконных приложений используй фреймворки, например, WTL. |
Автор: EnergoHokum 1.8.2008, 13:31 |
Ну, если уж я и буду использовать framework, то это будет Qt. А всякую мелочёвку, по моему, на чистом WinAPI + GDI писать полегче, да и понимания того, что творится в потрохах windows больше. Есть-же извращенцы ;-) , которые на ассемблере оконные приложения пишут, а я чем хуже? |
Автор: Paspartu 1.8.2008, 21:00 |
Можно упоковать все в класс... что мешает? |
Автор: Pulse69 2.8.2008, 02:21 |
Всякую мелочёвку легче писать как раз на WTL. Если WTL не устраивает, тогда без лобальных/статических переменных не обойтись. Заворачивать самому в классы - это заново изобретать велосипед. |
Автор: Paspartu 2.8.2008, 20:32 |
Здесь надо исходить из конкретной задачи, все MFC, WTL и т.д. это обертки над WinAPI это также как при строительстве дома… дом можно построить из монолитных плит, можно из кирпичей… в первом случае минимальной строительной единицей будет плита, во втором – кирпич, да! Из плит можно построить многое, за короткое время, но… все же из кирпича можно построить все то же самое + намного гибче т.к. единица меньше, минус – время, (хотя его надо потратить только раз что бы написать класс)… я делаю свои контролы на WinAPI, от окон до ToolBar-ов и прочее, и мне не нужен ни какой WTL, так что повторюсь, все зависит от задачи, решение на чем писать остается за автором… |
Автор: Earnest 4.8.2008, 11:17 |
Paspartu, Плиты с кирпичами комбинируются без проблем. По крайней мере в случае с MFC\WTL. Так что не аргумент. |