Pergunta

Eu tenho um aplicativo estruturado da seguinte maneira:

  • Dao
  • domínio
  • a Principal
  • Serviços
  • útil

Fiz uma classe que lê a configuração do aplicativo a partir de um arquivo XML. A questão é onde deve ser colocado?

Por Reflex, eu o colocaria em serviços públicos, mas as classes de serviços públicos têm métodos estáticos e estão sem estado, enquanto essa classe usa uma instância do Apache Commons XMLConfiguration. Devo apenas adaptar os métodos para que esta instância seja limitada aos escopos dos métodos nesta classe?

Foi útil?

Solução

Presumo que os itens sejam pacotes, então eu iria com o a Principal pacote.

  • Dao
  • domínio
  • a Principal contém o aplicativo e seus leitores de configuração
    • Config
    • registro
  • Serviços
  • útil

Por quê? A configuração de um aplicativo, seja em XML ou não e se é baseada em uma estrutura de aplicativo como a mola ou não, faz parte de sua principal funcionalidade. Inicializar um aplicativo é a principal responsabilidade do aplicativo. Toda a funcionalidade comercial, todos os recursos brilhantes que ele fornece são implementados nas camadas de domínio e serviço.

Você está certo, os utilitários são sobre ferramentas estáticas ou similares. Como a configuração de um aplicativo é muito importante, eu não declararia um utilitário. Um utilitário é algo que pode ser facilmente substituído por outra utilidade do mesmo tipo (por exemplo StringUtil vs. StringUtils vs. IOUtils etc. todos eles têm funcionalidade muito semelhante)

Outras dicas

Isso depende do sistema de construção e do tipo de aplicativo que você usa o IG Maven sugeriria para colocar os configurações de configuração em src/main/recursos

No arquivo de guerra, você pode colocá-los em web-inf ou web-inf/config

De acordo com a estrutura do seu projeto, sugiro introduzir uma configuração ou recursos de pasta, pois quase todo mundo os esperaria lá.

Se você está trabalhando com a primavera, dê uma olhada Configuração dos espaços reservados. Você pode usar um arquivo de propriedades Java simples para suas propriedades de configuração e colocá -lo no caminho da sua classe (ou em qualquer outro local). Todos você pode criar sua própria implementação para usar uma forma diferente de manter seus valores de configuração (XML, banco de dados etc.)

Como a configuração é um aspecto cruzado, ele não mapeia exclusivamente para uma dessas camadas. Coloque os arquivos de configuração (xml ou propriedades) no caminho de classe e use -o via mola para configurar seus grãos.

Para dados de configuração baseados em propriedades PropertyPlaceHoldConfigurer é uma boa solução.

Peço que você dê uma olhada na primavera. Pode parecer um exagero para você em primeiro lugar, mas você vai adorar.

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