2012-03-19 3 views
-1

После нескольких родных проектов iOS/Android я сейчас на проекте CakePHP. В этом проекте я научился хранить основную часть модельного кода внутри самой модели. Это отлично поработало из-за чистых контроллеров.Где скачать конкретный код?

Сегодня я начну с родного проекта iOS/Android, который извлекает основную часть данных из веб-службы. Теперь я поставил вопрос о том, чтобы разместить конкретный код загрузки внутри модели или просто создать своего рода помощник загрузки. В CakePHP все данные были сделаны внутри модели. Это сделало код довольно шелковым и гладким :) Каково ваше мнение?

ответ

1

В моих приложениях (как Android, так и ios - те же функциональные возможности, две платформы) я создал класс «помощник загрузки», задачей которого является маршалирование запросов от приложения на сервер, а затем анализ ответов в формате, который модель приложения может понять. Технически он по-прежнему является частью режима, если вы после чистого разделения, но он обеспечивает хороший уровень между фактической «моделью» и необработанными данными, поэтому я могу изменить только один класс, если источник или формат изменения данных.

+0

Спасибо за ваш ответ. Итак, как вы упомянули, модель будет единственной, связанной с классом помощника загрузки? Это не контроллер, соединяющий оба? –

+0

@BenGroot Это не совсем то, что я имел в виду. Контроллер будет подключен к модели. Модель отвечает за создание/форматирование данных - и для этого используется вспомогательный класс. В зависимости от реализации помощника, возможно, потребуется использовать некоторую логику контроллера, но это не обязательно. –

0

Предлагаю вам использовать некоторый помощник для скачивания, например Async Task для загрузки из веб-сервиса .. потому что основной поток не должен долго ждать загрузки .. и в новой версии .. android 4.0.3 .. я видел это, когда вы пытаетесь загрузить что-то в главной теме .., что требует времени .. ваше приложение будет разбиваться ... хотя в старых версиях я не сбой ... но рекомендуется использовать помощник загрузки.

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