Angular-styleguide: ¿Dónde poner los servicios que no tienen controladores ni vistas?

Creado en 22 mar. 2016  ·  3Comentarios  ·  Fuente: johnpapa/angular-styleguide

Por ejemplo: tengo un StatesService. Devuelve todos los estados de un país, pero no tiene su propia vista.

  1. Si solo se usa en una vista, ¿debería ponerlo en la subcarpeta de esa vista?
  2. Si se usa en muchas vistas, ¿dónde debo ponerlo?

En "Carpeta por característica" https://github.com/johnpapa/angular-styleguide/tree/master/a1#folders -by-feature-structure, puede ver una carpeta de 'servicios', pero no en la imagen a continuación .

Por el momento, estoy usando una carpeta "extra" para poner servicios sin controladores ni vistas.

@juanpapa

Comentario más útil

Los servicios no se relacionan con una vista, se relacionan con un servicio o conjunto de acciones que ayudan a proporcionar para una aplicación. Así que su escenario es bastante común. Ya estás a más de la mitad del camino :)

Primero decidimos si tenemos la necesidad de un servicio. Ya lo hiciste al determinar que maneja el estado.

Luego decidimos cómo extraer esa lógica. ¡Tú también hiciste eso!

Luego decidimos quién lo necesita. ¿Es utilizado por 1 controlador? 1 servicio? 1 directiva? ¿Están todos en 1 función/módulo? Si lo usa un módulo, lo pongo en ese módulo. Si se usa en toda la aplicación, póngalo en un módulo compartido.

Buena suerte

Todos 3 comentarios

  1. Eso es correcto
  2. Debe ponerlo en el archivo de servicio central core.service.js

Tengo un directorio services que almacena todos mis servicios comunes.

Personalmente, no lo pondría en un archivo de "servicio central", porque parece que violaría la Regla de 1 (Y001) .

Los servicios no se relacionan con una vista, se relacionan con un servicio o conjunto de acciones que ayudan a proporcionar para una aplicación. Así que su escenario es bastante común. Ya estás a más de la mitad del camino :)

Primero decidimos si tenemos la necesidad de un servicio. Ya lo hiciste al determinar que maneja el estado.

Luego decidimos cómo extraer esa lógica. ¡Tú también hiciste eso!

Luego decidimos quién lo necesita. ¿Es utilizado por 1 controlador? 1 servicio? 1 directiva? ¿Están todos en 1 función/módulo? Si lo usa un módulo, lo pongo en ese módulo. Si se usa en toda la aplicación, póngalo en un módulo compartido.

Buena suerte

¿Fue útil esta página
0 / 5 - 0 calificaciones