Angular-styleguide: Où mettre les services qui n'ont pas de contrôleurs ni de vues ?

Créé le 22 mars 2016  ·  3Commentaires  ·  Source: johnpapa/angular-styleguide

Par exemple : j'ai un service StatesService. Il renvoie tous les états d'un pays, mais il n'a pas sa propre vue.

  1. S'il n'est utilisé que dans une seule vue, dois-je le placer dans le sous-dossier de cette vue ?
  2. S'il est utilisé dans de nombreuses vues, où dois-je le mettre ?

Dans "Folder-by-feature" https://github.com/johnpapa/angular-styleguide/tree/master/a1#folders -by-feature-structure, il peut voir un dossier "services", mais pas dans l'image ci-dessous .

Pour le moment, j'utilise un dossier "extra" pour mettre des services sans contrôleurs ni vues.

@johnpapa

Commentaire le plus utile

Les services ne se rapportent pas à une vue, ils se rapportent à un service ou à un ensemble d'actions qu'ils aident à fournir pour une application. Votre scénario est donc assez courant. Vous avez déjà fait plus de la moitié du chemin :)

Nous décidons d'abord si nous avons besoin d'un service. Vous l'avez déjà fait en déterminant qu'il gère l'état.

Ensuite, nous décidons comment extraire cette logique. Tu l'as fait aussi !

Ensuite, nous décidons qui en a besoin. Est-il utilisé par 1 contrôleur ? 1 prestation ? 1 directive ? Sont-ils tous dans 1 fonctionnalité/module ? S'il est utilisé par un module, je le mets dans ce module. S'il est utilisé dans l'application, placez-le dans un module partagé.

Bonne chance

Tous les 3 commentaires

  1. C'est correct
  2. Vous devez le mettre dans le fichier de service principal core.service.js

J'ai un répertoire services qui stocke tous mes services communs.

Personnellement, je ne le mettrais pas dans un fichier "core service", car cela semble violer la règle de 1 (Y001) .

Les services ne se rapportent pas à une vue, ils se rapportent à un service ou à un ensemble d'actions qu'ils aident à fournir pour une application. Votre scénario est donc assez courant. Vous avez déjà fait plus de la moitié du chemin :)

Nous décidons d'abord si nous avons besoin d'un service. Vous l'avez déjà fait en déterminant qu'il gère l'état.

Ensuite, nous décidons comment extraire cette logique. Tu l'as fait aussi !

Ensuite, nous décidons qui en a besoin. Est-il utilisé par 1 contrôleur ? 1 prestation ? 1 directive ? Sont-ils tous dans 1 fonctionnalité/module ? S'il est utilisé par un module, je le mets dans ce module. S'il est utilisé dans l'application, placez-le dans un module partagé.

Bonne chance

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jansepke picture jansepke  ·  12Commentaires

robrothedev picture robrothedev  ·  6Commentaires

samithaf picture samithaf  ·  12Commentaires

majj picture majj  ·  4Commentaires

yosiasz picture yosiasz  ·  7Commentaires