Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Библиотека MicrosoftFoundationClass.






Windows-программы легко использовать, однако их нелегко разрабатывать.

Многих программистов обескураживает необходимость осваивать сотнифункций Windows API, необходимых для написания приложений.

Решение Microsoft, облегчающее программисту восхождение к вершинам мастерства, состоит в применении объектно-ориентированной библиотеки базовых классов. Классы C++ гораздо легче изучить и использовать, чем функции API. Библиотека MicrosoftFoundationClass (MFC) активно пользуется достоинствами абстракции данных, предоставляемой языком C++, поэтому ее применение упрощает программирование для Windows. Начинающие программисты могут использовать классы как " кулинарную книгу", а опытные программисты могут расширить эти классы или встроить их в свою иерархию классов.

Библиотека MFC предоставляет классы для управления объектами Windows и обладает рядом классов общего назначения, которые могут быть использованы и в приложениях MS-DOS, и Windows. Например, есть классы для управления файлами, строками, временем, памятью и обработки исключительных ситуаций.

В сущности, библиотека классов MFC обладает возможностями практически каждой из функций Windows API и содержит интеллектуальный код, который упрощает обработку сообщений, диагностику ошибок и другие мелочи, обязательно входящие в каждое приложение Windows. Такое логичное сочетание и расширение функций Windows API имеет десять основных достоинств:

· Инкапсуляция Windows API логична и полна. Библиотека MFC обеспечивает поддержку всех часто используемых функций Windows API, включая управление окнами, сообщения, элементы управления, меню, окна диалога, объекты интерфейса графического устройства (шрифты, кисти, перья и растровые изображения), связь объектов и многодокументный интерфейс.

· Библиотека MFC легка для изучения.Microsoftпредпринимала целенаправленные усилия для того, чтобы сделать имена функций MFC и их параметров как можно более схожими с именами их прототипов из Windows API. Это снизит возможность путаницы для опытных программистов Windows, которые захотят воспользоваться платформой MFC. Это также позволит начинающему программисту более легко перейти на Windows API, если он к этому готов или того требует программа.

· Текст на C++ более эффективен. Если компилировать MFC в малой модели памяти, то использующее ее приложение потребует лишь немногим больше ОЗУ, чем обычное. Скорость выполнения MFC-приложения практически равна скорости аналогичного приложения на С, использующего стандартный Windows API.

· Библиотека MFC дает возможность автоматической обработки сообщений. Библиотека MFC ликвидирует один из источников частых ошибок — цикл обработки сообщений Windows API. Классы MFC спроектированы для автоматической обработки каждого из сообщений Windows. Вместо использования стандартного оператора switch/case, каждое сообщение непосредственно направляется методу класса, который предпринимает соответствующие действия.

· Библиотека MFC дает возможность самодиагностики. Более того, возможность самодиагностики туда встроена. Это означает, что вы можете сбросить информацию о различных объектах в файл, а затем проанализировать состояние внутренних переменных объекта в удобном для вас виде.

· Библиотека MFC имеет надежную архитектуру. Опережая официальное включение в стандарт ANSI С конструкции throw/catch, библиотека MFC уже основывается на архитектуре, широко использующей обработку исключительных ситуаций. Это позволяет объекту MFC изящно выходить из таких стандартных ошибочных ситуаций, как недостаток памяти, неверные параметры или трудности с загрузкой файла или ресурса. Все составляющие этой архитектуры совместимы с предлагаемыми рекомендациями ANSI С

· Библиотека MFC дает возможность использовать динамические типы данных. Это чрезвычайно мощное средство позволяет не заботиться о типе динамически размещенного объекта до момента выполнения программы. Вам дается возможность манипулировать объектом, не зная о лежащей в его основе структуре данных. Поскольку информация о типе объекта доступна во время выполнения, программист освобождается от одного лишнего уровня детализации.

· Библиотека MFC может гармонично сосуществовать с Windows-программами, написанными на С. Наиболее важное свойство MFC — ее способность уживаться с программами, написанными на С с использованием Windows API. Программисты могут в одной и той же программе сочетать классы MFC с вызовами API-функций. Это позволяет приложению MFC легко развиться до уровня настоящей объектно-ориентированной программы, если опыт программиста или внешние условия этого требуют. Такая прозрачность среды стала возможной благодаря общим для обеих архитектур соглашениям об именах. Это означает, что заголовки, типы и глобальные определения MFC не вступают в конфликт с именами из Windows API. Еще одно важное условие столь успешного взаимодействия — прозрачное управление памятью.

· Библиотека MFC может использоваться в MS-DOS. Библиотека MFC проектировалась специально для разработки приложений Windows. Многие классы обеспечивают такие часто используемые функции, как файловый ввод-вывод и работу со строками. Эти классы общего назначения могут быть использованы при программировании как для Windows, так и для MS-DOS.

· Библиотека MFC и Мастера. ClassWizard (Мастер классов) и ControlWizard (Мастер элементов управления) генерируют коды, предназначенные для работы только с использованием MFC. Эти средства быстрой разработки в особенности облегчают создание приложений OLE.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал