Qual é a melhor maneira de armazenar configurações de aplicativos? (MVC)
-
21-08-2019 - |
Pergunta
Estou desenvolvendo um aplicativo de swing que se adapte ao padrão MVC e estou me perguntando sobre o melhor lugar para armazenar configurações, como largura/altura, localização de arquivos XML ... essas configurações devem ser adequadas também apenas através do modelo? Devo usar uma classe estática global? Um singleton?
desde já, obrigado
Solução
Eu sugeriria java.util.prefs
.
Preferences
.
Então você não precisa inventar nada.
Outras dicas
Eu realmente usei o Swing Application Framework Em Netbeans, com grande sucesso aqui, que lida com isso de uma maneira que você não precisa se preocupar muito com padrões de design :)
Antes do que normalmente armazenaria as propriedades da janela nos arquivos de propriedades e eu tinha um modelo/serviço de configuração separado que injetei onde era necessário recuperar as propriedades ao recriar o Windows.
Não consigo ver por que precisaria ser um singleton. Provavelmente um anti-padrão neste caso.
Depende de quais configurações você está falando.
Width
e Height
soa como propriedades que são relevantes apenas para o Visão parte do seu projeto e, portanto, deve ser armazenada nele. Xml file location
Parece mais como um Modelo interesse.
Ao desenvolver em java (o que raramente faço ...), tendem a marcar uma classe chamada Settings
em que guardo o que eu preciso como campos privados, com getters e/ou setters onde é necessário. Em um padrão MVC, eu teria uma classe de configurações em cada seção e (se necessário, mas não) uma classe de configurações "global". Mas se você estiver preocupado com a conformidade do padrão, verifique se cada configuração está disponível apenas onde for necessário.