Determinar a melhor maneira de quebrar o código em diferentes pastas e namespaces

StackOverflow https://stackoverflow.com/questions/384562

  •  23-08-2019
  •  | 
  •  

Pergunta

Eu tenho o seguinte diretórios:

-ui
-BusinessLogic
-DataAccess
-BusinessObjects

Se eu tiver uma classe que é um esboço sobre o cliente para um serviço do lado do servidor que muda de estado em um sistema servidor, onde teria que ir. .

Foi útil?

Solução

este código pertence na lixeira; -)

a sério, se você escreveu e não sabe para onde vai, então ou o código é questionável ou o particionamento é questionável; como é que vamos ter mais informações sobre o sistema do que você tem?

Agora, se você quer apenas algumas opiniões desinformadas, aqueles que temos pela petabyte:

  1. ele vai na interface do usuário porque você disse que é um stub do cliente
  2. ele vai na lógica de negócios porque ele implementa o efeito de uma regra de negócio
  3. ele vai na camada de acesso a dados porque ele está acessando um serviço de mudança de estado
  4. ele vai na camada de objeto de negócios, pois resulta em uma mudança de estado no servidor

seria mais útil se você nos disse que o stub realmente faz; sem especificidades que é difícil saber por onde ele pertence, e / ou é fácil argumentar em um vácuo sobre onde ele "deveria" pertencer

Outras dicas

Eu consideraria isso uma forma de acesso a dados, embora não seja claro para mim que você precisa colocá-lo no mesmo projeto como o resto de suas classes de acesso de dados. Lembre-se que as camadas são principalmente conceitual - para ajudar a manter o design limpo. Separando-os em diferentes projetos de ajuda organizacionalmente, mas não é obrigatório. Se é uma classe stub real, então o projeto de acesso de dados é provavelmente a casa natural para ele, mas se ele é usado apenas na camada de interface do usuário, em seguida, mantê-lo lá, provavelmente seria ok.

Eu não acho que ele pertence a qualquer um desses. Você nem precisa de um novo diretório ou um novo projeto inteiramente. Mas fora daqueles dada, eu teria que dizer BusinessObjects porque certamente não é acessando dados de acordo com sua descrição, e sim é simplesmente agindo como um objeto local (esboço).

Em um repositório de serviços web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top