Angular-styleguide: Onde colocar serviços que não possuem controladores nem visualizações?

Criado em 22 mar. 2016  ·  3Comentários  ·  Fonte: johnpapa/angular-styleguide

Por exemplo: Eu tenho um StatesService. Ele retorna todos os estados de um país, mas não possui uma visão própria.

  1. Se for usado apenas em uma visualização, devo colocá-lo na subpasta dessa visualização?
  2. Se for usado em muitas visualizações, onde devo colocá-lo?

Em "Folder-by-feature" https://github.com/johnpapa/angular-styleguide/tree/master/a1#folders -by-feature-structure, ele pode ver uma pasta 'services', mas não na imagem abaixo .

Por enquanto, estou usando uma pasta "extra" para colocar serviços sem controladores nem visualizações.

@johnpapa

Comentários muito úteis

Os serviços não estão relacionados a uma exibição, eles estão relacionados a um serviço ou conjunto de ações que ajudam a fornecer para um aplicativo. Portanto, seu cenário é bastante comum. Já estás a mais de metade do caminho :)

Primeiro decidimos se temos a necessidade de um serviço. Você já fez isso determinando que ele lida com o estado.

Então decidimos como extrair essa lógica. Você também fez isso!

Então decidimos quem precisa. É usado por 1 controlador? 1 serviço? 1 diretiva? Eles estão todos em 1 recurso/módulo? Se usado por um módulo eu coloco nesse módulo. Se usado em todo o aplicativo, coloque-o em um módulo compartilhado.

Boa sorte

Todos 3 comentários

  1. Está correto
  2. Você deve colocá-lo no arquivo de serviço principal core.service.js

Eu tenho um diretório services que armazena todos os meus serviços comuns.

Pessoalmente, eu não o colocaria em um arquivo "serviço principal", porque isso parece violar a Regra de 1 (Y001) .

Os serviços não estão relacionados a uma exibição, eles estão relacionados a um serviço ou conjunto de ações que ajudam a fornecer para um aplicativo. Portanto, seu cenário é bastante comum. Já estás a mais de metade do caminho :)

Primeiro decidimos se temos a necessidade de um serviço. Você já fez isso determinando que ele lida com o estado.

Então decidimos como extrair essa lógica. Você também fez isso!

Então decidimos quem precisa. É usado por 1 controlador? 1 serviço? 1 diretiva? Eles estão todos em 1 recurso/módulo? Se usado por um módulo eu coloco nesse módulo. Se usado em todo o aplicativo, coloque-o em um módulo compartilhado.

Boa sorte

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

amiceli picture amiceli  ·  7Comentários

sgbeal picture sgbeal  ·  7Comentários

yosiasz picture yosiasz  ·  7Comentários

jusefb picture jusefb  ·  9Comentários

kdekooter picture kdekooter  ·  8Comentários