2013-10-13 1 views
0

В настоящее время я перестраиваю небольшую мобильную страницу клиента, используя свои собственные деньги, как способ узнать MVC и AngularJS, а также для подготовки к значительно большему проекту для другого клиента. Страница, которую я изучаю, представляет собой одностраничное приложение для онлайн-заказа для пит-ресторана. Это позволяет вам выбирать из списка питов, затем второй вид позволяет настраивать вашу питу с различными овощами, сырами, соусами и т. Д., А затем третий вид, который позволяет вам отправить ваш заказ.Несколько моделей данных в приложении AngularJS?

Мой вопрос касается модели. Я создал систему, которая выводит данные из базы данных пунктов меню (pitas и toppings) и создает файл JSON, модель, для Angular для разбора и отображения для пользователя, но мне любопытно, где будут выбраны пользовательские храниться.

Могу ли я создать другую модель специально для выбора пользователя или изменить исходную модель, чтобы сохранить выбор пользователя в дополнение к исходным данным?

ответ

2

Это несколько сложный вопрос в том смысле, что существует много переменных. Я просто планирую, как подойти к решению:

Изменение существующей модели, передаваемой клиенту, означает несколько вещей.

Во-первых, это означает, что у меня не будет другой модели, с которой нужно иметь дело, но что модель не фокусируется на одном (нарушение SRP). Он задает модель в моем домене, а также отношение, которое он имеет к другому, порядок. Это приводит к тому, что объект находится в нечетных состояниях в том смысле, что он представляет разные вещи в разное время/ситуации.

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

Создание новой модели для представления заказа означает другую модель, с которой приходится иметь дело (создание API/сервиса для управления ею также). Плюсом является то, что я смогу сосредоточить внимание на одном: отслеживание заказа. Это означает, что мои другие модели не должны меняться, и я знаю, что объект действительно представляет во все времена.

Я, очевидно, склоняюсь к созданию новой модели, потому что она расширяема/гибка и понятна для понимания/поддержки.

Это не имеет ничего общего с Ng или MVC или JSON. Это больше связано с созданием ваших моделей для наиболее точного и четкого представления вашего домена.

Там, возможно, другое соображение, а также конкретные особенности. Сообщите мне, комментируя.

+0

Я также хотел бы добавить, что вы должны иметь все ваши взаимодействия с вашим бэкэнд-сервисом для обслуживания Ng. Здесь вы должны иметь дело с управлением своими моделями. Есть много способов сделать это в зависимости от ваших потребностей ($ http и $ resource - самый высокий уровень выбора). Создание этих и поддержание этого прямое, что-то еще, чтобы рассмотреть, но кажется только касательным к вашим вопросам. –

+1

Я думаю, что я изучаю то, что мне действительно нужно читать модели и как правильно их проектировать. Я предполагаю, что могу просто сбрасывать свою базу данных прямо в объект JSON, и мне будет хорошо идти, но я узнаю, что есть много чего сделать правильно. Благодаря! –

+1

Взгляните на дизайн SOLID, чтобы запустить вас: http://en.wikipedia.org/wiki/SOLID_(object-oriented_design) –