2014-02-10 2 views
0

Этот вопрос может быть применим ко всем языкам и фреймворкам, но я ищу что-то более «специфичное для какао». Я исхожу из фона Java, и я заметил, что изучение цели-c - это нечто большее, чем просто синтаксис, это почти совершенно другой способ мышления.Организация занятий в какао-приложении

У меня были проблемы с тем, что вам нужно, чтобы организовать свои занятия. Конечно, все основные правила ООП (объектно-ориентированного программирования) применяются, и рекомендуется использовать шаблоны MVC, где вы можете. Но, когда я привык к Java, мне просто нужно установить несколько вещей прямо и убедиться, что у меня есть правильная идея:

Итак, для простоты просто сосредоточьтесь на одной части приложения - Регистрация пользователя . У вас будет ваш .xib-файл для пользовательского интерфейса (например, Login.xib), у вас будет свой класс, который обрабатывает ваши данные (подключение к веб-службе под названием LoginModel.m), и у вас будет ваш контроллер, который действует как средний человек между вашим интерфейсом и данными (Called LoginController.m).

Является ли это довольно хорошим примером применения MVC для приложения Cocoa? И если это так, значит ли это, что у вас будет 6 файлов, созданных для этого (поскольку у вас есть файлы заголовков и файлы реализации). 6 файлов просто для того, чтобы обрабатывать что-то простое, как регистрировать пользователя. Вы можете себе представить, сколько у вас получится для всего приложения, даже самого простого из них ...

Итак, мой вопрос: я делаю что-то не так? У меня есть неправильная идея? Или идея слишком большого количества файлов и слишком длинных имен методов - это то, с чем мне нужно привыкнуть, поскольку мой мозг все еще работает в «Java-режиме»?

ответ

1

Ваши идеи относительно того, как справиться с изложенным выше, являются полностью правильными. Нет ничего плохого в том, что в проекте много файлов. Это очень помогает, когда вы хотите повторно использовать код или, если, например, данные для входа в систему изменяются, и вы не хотите редактировать несколько местоположений кодов.

Тем не менее, вы можете объединить в таких простых случаях модельный класс и класс контроллера, особенно если ваши данные модели могут быть, например, сохранены в NSDictionary и т. Д. Только если у вас есть сложные объекты модели, которые будут запускать много собственного кода, лучше их разделить.

Имена переменных и методов не могут быть слишком длинными;) всегда используйте хорошее имя, которое особенно описывает функциональность или задачу. Обычно вам не нужно вводить их часто, но автозаполнение Xcode будет легко справляться с этим.

+0

спасибо за ваш ответ, теперь я чувствую себя намного увереннее в своих способностях: D. Данные, которые я использую для текущего проекта, над которым я работаю, полностью выполняются с помощью веб-сервисов REST, которые возвращают json, что, в свою очередь, легко может быть проанализировано для NSDictionaries. Итак, в этом случае вы соглашаетесь с тем, что я могу объединить мои модели и контроллеры? Кроме того, соглашения об именах в MVC obj-c? Именовать мои классы LoginController и LoginModel, например, не .. нахмурились? – Tiwaz89

+1

Я определенно буду хранить данные JSON в 'NSDictionary'. Дает вам достаточно возможностей для работы с данными. Что касается именования: пока имена классов в порядке, я бы подумал о добавлении префикса. Например, я использую мои инициализации, в результате чего VRxxxx или в других случаях является частью имени приложения. Некоторые из моих имен приложений начинаются с bcXXX, поэтому я использую BC как префикс. – Volker

Смежные вопросы