Pessoal, preciso implementar uma funcionalidade de ‘Settings’ onde o usuário irá controlar alguns valores default do programa.
Para a interface, pensei em usar o padrão AbstractFactory, e teria um factory para cada tipo de categoria de valores que criaria um painel para que o usuário alterasse os valores (algo como o ‘Preferences’ de muitos programas, onde você escolhe uma categoria como ‘Editor’ ou ‘Properties’ e um painel é aberto para mudar esses valores).
O problema está no acesso feito pelo programa a esses valores default. Como eu posso guardar esses valores? Pensei em criar uma estrutura genérica baseada em herança, onde haveria uma classe para cada campo e cada categoria agruparia vários campos (o que geraria uma explosão de classes fenomenal :?).
Minha colega de trabalho (e namorada e futura esposa hehehe ) sugeriu guardar todos os campos em uma classe só, mas eu achei essa solução pouco genérica, pois, a cada novo campo, teríamos que alterar a classe, e ela ficaria bizarramente gigante :shock:.
Alguém já fez algo parecido? Ou conhece algum padrão que forneça uma solução genérica inteligente para o problema?
Brigado galera!
[]'s