Core Data в среде Cocoa, Mac OS, iOS

Cocoa

Общее представление о Core Data

Core Data не является реляционной базой данных или системой управления реляционными базами данных (СУБД).

Core Data обеспечивает инфраструктуру для управления изменениями и для сохранениями объектов и извлечения их из хранилища. Эта технология может использовать SQLite в качестве одного из видов постоянного хранилища. Что, однако, не означает само по себе базу данных. (Чтобы подчеркнуть этот момент: вы, например, можете использовать только хранилище в памяти вашего приложения, а также использовать Core Data для отслеживания изменений и управления ими, но никогда не сохранять данные в файл.).

Core Data не снимает необходимости написания кода. Хотя можно создавать сложные приложения исключительно с использованием инструментов моделирования данных Xcode и Interface Builder, для более реальных приложений вам все равно придется писать код.

Core Data не зависят от Cocoa Bindings.

Core Data хорошо интегрируется с Cocoa Bindings и использует те же технологии, и их совместное использование позволяет значительно сократить объем кода, но можно использовать Core Data без Cocoa Bindings.

Почему целесообразно использовать Core Data

Есть целый ряд причин, по которым может быть целесообразным использование Core Data. Одна состоит в том, что с Core Data, уменьшает количество кода, написанного для поддержки модели слоя приложения, как правило, на 50% - 70%, измеряемое в строках кода.

Core Data имеет зрелый код, качество которого обеспечивается путем юнит-тестов, и используется ежедневно миллионами клиентов в широком спектре приложений. Структура была оптимизирована в течение нескольких версий. Она использует информацию, содержащуюся в модели и выполненяет функции, как правило, не работающие на уровне приложений в коде. Кроме того, в дополнение к отличной безопасности и обработке ошибок, она предлагает лучшую масштабируемость при работе с памятью, относительно любого конкурирующего решения. Другими словами: вы могли бы потратить долгое время тщательно обрабатывая Ваши собственные решения оптимизации для конкретной предметной области, вместо того, чтобы получить преимущество в производительности, которую Core Data предоставляет бесплатно для любого приложения.

Когда нецелесообразно использовать Core Data

Во первых, если планируется использовать очень небольшой объем данных. В этом случае проще воспользоваться для хранения Ваших данных объектами коллекций - массивами или словарями и сохранять их в .plist файлы.

Во вторых, если используется кросс-платформерная архитектура или требуется доступ к строго определенному формату файла с данными (хранилищу), например SQLite.

Ну и в третьих - это использование баз данных клиент-сервер, например MySQL или PostgreSQL, работе с этими базами посвещен раздел с примерами "Базы данных в Mac OS X".

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac