Angularapp1 (3 de 9): Objetos del modelo
Considero que en el modelo de datos sólo debe de ir lo que se mandará al servidor y lo que se recupera de él. Cualquier objeto que se necesite para “pintar” la página o para otras cosas será parte del controlador, no del modelo.
De esta manera tengo los siguientes objetos:
Item:
Son los artículos de cada categoría. Un objeto simple con los atributos id, name, image y price.
Category:
Tiene los atributos id, name, image y un array de items.
También tiene la función getItem que devuelve el item dado el itemId.
OrderItem:
Es cada elemento del carrito de la compra.
Tiene como atributos un item de los vistos anteriormente y un quantity.
Order:
Es el propio carrito de la compra.
El único atributo es un array de OrderItem y tiene una serie de métodos para añadir y eliminar del carrito, obtener el número de orderitems, el coste total y algún otro método necesario.
Model:
Es el objeto que representa el modelo de la aplicación. No lo he llamado App por no confundir con el app de AngularJs.
Contiene un array de Category, un Order y el método getCategory para obtener una categoría dado su id.