redspark-io / modelo-java

Projeto Modelo com Spring Boot
4 stars 0 forks source link

Separar em modulos as configurações da classe Application.class #19

Open lucasgmartins opened 9 years ago

lucasgmartins commented 9 years ago

As configurações podem ser modularizadas afim de tornar a leitura mais fácil e para futura manutenção, exemplo ApplicationSecurity, ApplicationDatabase.

brunosales commented 9 years ago

Meu ponto de vista: A config tem que ser algo bem simples, no caso do Spring Boot nem config de database existe, tem apenas do security pois essa não usamos a default (a default é com basic authentication).

Quando separamos a config teremos que explicar como e por que separar, quando for dar manutenção precisa saber em qual config procurar, e ai por diante. Será que realmente precisa separar? Gostaria de ver a opinião do pessoal sobre esse assunto.

lucasgmartins commented 9 years ago

Eu concordo com você na questão de simplicidade, entretanto pra mim misturar configurações que são de seguranças com outras que irão vir em uma classe não deixa a classe simples, pensando no principio de responsabilidade unica, em que cada classe deveria fazer uma coisa só, eu gosto de pensar que cada classe de configuração deve ter seu próprio papel. Assim como fazemos classes no dropwizard para HibernateBundle, SecurityBundle, e etc..

facholi commented 9 years ago

Quando as configurações são muito bem definidas, tais como as de segurança, acho que vale a pela separar sim. Aí seria só questão de incluir ou não a configuração quando fizer o "run". Pelo que vi, para banco não tem necessidade mesmo não.

No caso das configurações de segurança nem precisa explicar o porquê da separação.