Интернет магазин китайских планшетных компьютеров



Компьютеры - Cocoa - Модель-представление-поведение

01 мая 2011


Оглавление:
1. Cocoa
2. История Cocoa
3. Управление памятью
4. Основные фреймворки
5. Модель-представление-поведение
6. Позднее связывание
7. Объекты с богатыми возможностями
8. Реализации



Команды Smalltalk-программистов из Xerox PARC в конце концов выработали философию, позволившую упростить разработку и значительно увеличить объём повторно используемого кода. Известная как «парадигма модель-представление-поведение», эта концепция предусматривает разделение приложения на три набора взаимодействующих между собой классов. Классы модели представляют данные, такие как документы, файлы настроек или объекты в памяти. Представления, как следует из названия, отображают данные. Классы поведения содержат логику, связывающую модели с соответствующими представлениями, и обеспечивают их синхронизацию.

В архитектуре Cocoa принципы MVC строго соблюдены. В OpenStep, большинство классов были либо представлениями высокого уровня либо относительно низкоуровневыми классами модели. По сравнению с похожими MVC-системами, в OpenStep недоставало сильной базы моделей. Например, не существовало базового класса, который бы представлял документ. Во время перехода к Cocoa, база моделей была невероятно расширена, и стала включать несколько готовых к употреблению классов, обеспечивавших функциональность, общую для большинства пользовательских приложений.

В Mac OS X 10.3, Apple представила семейство классов MVC, обеспечивающее стандартную функциональность поведения — NSController. Эти классы считаются частью системы Cocoa Bindings которая широко использует такие протоколы как Key-Value Coding и Key-Value Observing. Термин binding означает связку двух объектов, часто представления и поведения. Cocoa Bindings позволяют разработчику сосредоточиться на описании связей между объектами, вместо того, чтобы детально описывать поведение программы.

С выходом Mac OS X 10.4, Apple ещё больше расширила основные классы, представив фреймворк Core Data, автоматизирующий отслеживание изменений в моделях и их сохранение. Этот фреймворк значительно упрощает работу с данными в приложении, предоставляя автоматическую поддержку чтения документов из файла и сохранения их в файл, а также архитектуры отмены и возвращения изменений.

Обеспечивая фреймворки для поддержки всех трёх уровней MVC, Apple ставит цель уменьшить количество «склеивающего» кода, который вынуждены писать разработчики, и освободить таким образом их время на написание уникальных для конкретного приложения функций.



Просмотров: 6706


<<<