2016-10-02 3 views
-1

Разработка моего первого приложения IOS.Архитектура приложения IOS

О платформе 1. Потребляйте услуги Restful (JSON). 2. Постройте несколько клиентских приложений, реализующих разные функции с некоторым перекрытием.

Архитектура Diagram for the architecture

Реализация 1. Используйте CocoaPods. 2. Infra POD/FRAMEWORK с полным слоем Infra и поперечным разрезом. 3. Domain POD/FRAMEWORK, в котором хранятся модели данных и моделей модели CoreData Data, реализованные с использованием шаблона ActiveRecord. 4. Каждая функция как отдельный POD/Framework. (Single Storyboard + несколько контроллеров) 5. Каждое приложение объявляет PODS (Infra + Domain + Feature/s) и создает необходимый поток навигации для доступа ко всем функциям. Ручка Auth.

Вопросы 1. Возможно ли это? 1. Могу ли я переоценить это? Должен ли я начинать с простого приложения с одной папкой и работать над какой-то структурой (это может быть выше или что-то совсем другое)? 2. Кто-нибудь работает с такой структурой? Любые ямки, о которых я должен знать? 3. Есть ли последствия для производительности? Имеет ли множество фреймворков препятствовать времени запуска? Любые шаги, которые я мог предпринять, чтобы смягчить их.

P.S. : Мой UML сосет. Игнорируйте любые проблемы, связанные с UML в приведенной выше модели. Я просто не знал простого инструмента рисования на macOS.

+0

Привет, я боюсь, что несколько вопросов в одном и широкие вопросы «лучшей практики» не подходят для переполнения стека. Некоторые из них * могут * быть в теме на http://programmers.stackexchange.com, когда его спрашивают отдельно, но я не уверен, обязательно проверьте их часто задаваемые вопросы. –

+0

Похоже, вы пытаетесь нанять исследование команда, не решит проблему программирования. –

+0

Reuse & DRY - это две вещи, к которым я стремлюсь. Я сделаю ваш комментарий в положительном смысле, что у меня возникла проблема. Но мне всегда легче выкидывать вещи, чтобы сделать их Итак, пришло время бросить некоторые вещи. :) – Shrep

ответ

0

Я собираюсь попытаться ответить на этот вопрос:

Вам не придется начинать с крайним разделением кода и различными Бобами в начале. Если вы правильно структурируете свой код, вы можете легко отделить детали, как только вам это действительно нужно. Постарайтесь остаться верным следующие моменты, и вы не будете иметь проблемы повторного использования кода:

  1. Dont смешивать бизнес-логику (сетевой код, базы данных, постоянство данных, обработки данных и т.д. ...) с видом на контроллерах , Попробуйте сделать отдельных менеджеров для каждой работы.

  2. не копировать код! (Если у вас есть, реструктуризировать его и сделать так, что вам не нужно копировать)

  3. стараются работать по-настоящему объектно-ориентированным (создание объектов для хранения и хранения данных, запросов и т.д. и т.п.)

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

+0

Спасибо, Бен за ваше время и Комментарии.Я попробовал вышеуказанную структуру, и это сработало (к моему удивлению ..), как вы упомянули, это может быть слишком сложно для чего-то очень простого. Благодарим вас за предложения. Я обязательно буду помнить их. – Shrep

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