CodeNet / Платформы / Windows / MFC / Основы программирования с помощью библиотеки Microsoft Foundation Classes
Введение - MFC
На сегодняшний день, Windows является безусловно лидирующей операционной системой на рынке персональных компьютеров. Поэтому успех современного программиста напрямую зависит от его умения разрабатывать качественные и эффективные приложения Windows. Приложения постоянно усложняются и требуют все большего времени для их создания. Для облегчения программирования Windows-приложений фирмой Microsoft была разработана библиотека MFC (Microsoft Foundation Classes - Базовые Классы Microsoft), которая впервые была представлена на рынке в 1992 г вместе с компилятором Microsoft C/C++ 7.0. Сейчас она представляет собой мощный набор классов C++, которые позволяют программировать приложения Windows 95,98/NT на достаточно высоком уровне абстракции, и вместе с тем открывают для опытных программистов легкий доступ к функциям более низкого уровня, что позволяет писать эффективные приложения и полностью использовать все возможности операционной системы.
MFC является альтернативой системам визуального программирования, таким как Delphi или Visual Basic, предназначенной для опытных программистов. На сегодняшний день подавляющее большинство программ разрабатывается при помощи Microsoft Visual С++ и MFC. MFC - это стандарт программирования под Windows и "интернациональный язык общения". Такая ситуация объясняется многими причинами. В частности, только MFC позволяет создавать наиболее эффективные и устойчивые приложения, которые будут корректно вести себя не только в системе разработчика, но и в системах реальных пользователей. Также очень важно, что MFC поддерживает все современные технологии, реализованные в Windows, и при дополнении Windows почти сразу же дополняется и MFC.
MFC - это инструмент для программирования сложных приложений, от которых требуется высокая эффективность и надежность. MFC поощряет использование объектно-ориентированного программирования, что дает ощутимые преимущества при решении сложных (не с точки зрения только интерфейса пользователя) задач, по сравнению с компонентно-ориентированным подходом, применяемым в системах RAD (быстрой разработки приложений). Разрабатывая приложение в системе RAD, программист часто вообще не использует ООП, по крайней мере в явном виде, до тех пор, пока не соберется разработать собственный компонент. Это негативно сказывается на возможности последующего расширения возможностей. Тем не менее, не стоит воспринимать сказанное как критику систем RAD. Есть много классов приложений (например, базы данных), которые разумнее всего разрабатывать именно при помощи систем RAD, что и делают даже опытные Windows-программисты.
Что необходимо знать для изучения MFC MFC - это достаточно сложная библиотека, интенсивно использующая возможности языка С++, а также в некоторых случаях и расширяющая язык. Поэтому Вы должны хорошо разбираться в языке С++, в частности, не должны вызывать затруднений наследование и создание производных классов, полиморфизм (нужно также понимать его ограничения в С++), виртуальные методы, перегрузка операторов, обработка исключений и другие характерные для С++ понятия. Если Вы не так свободно ориентируетесь в С++, то настоятельно рекомендуется перед изучением MFC укрепить свои знания по С++, например, с помощью книги Стенли Б. Липпмана "С++ для начинающих", или одной из множества других книг, подобных этой.
Кроме того, необходимо иметь опыт работы с одной из современных версий Windows, а также представлять себе ее внутреннее устройство и принципы работы. Также необходим хотя бы минимальный опыт работы со средой Microsoft Visual C++ - данные методические указания не являются руководством пользователя по этой среде (если Вы хорошо знаете С++, то вероятно, Вы уже пользовались этой средой для создания консольных приложений). Предполагается, что Вы по крайней мере умеете создавать проекты, добавлять к ним файлы, менять настройки и собирать проекты. Однако, библиотека MFC построена так, что она повторяет структуру подсистем и объектов Windows API. Это сделано ради эффективности. Поэтому, если Вы уже программировали на С/С++ с использованием только "чистого" Windows API, то это существенно облегчит процесс изучения MFC. Опыт работы с системами RAD тоже будет полезен.
Необходимые инструменты
В первую очередь, необходима Windows 95, Windows NT 4.0 или их более поздние версии. Также необходим компилятор Microsoft Visual C++ 4.0 или более поздняя версия. Необходимо отметить, что компилятор Visual C++ очень медленный и требует много памяти. Поэтому минимальные рекомендуемые конфигурации компьютеров для Visual C++ 4.0 следующие: для Windows 95 - 486DX4/100, 32 МБ RAM, для Windows NT 4.0 - Pentium 100, 64 МБ RAM.