Olá pessoa, estou tentando implementar em Java o jogo Batalha Naval. Devo utlizar alguns padrões de projeto nesse projeto. Estou estudando alguns padrões mas em alguns momentos não consigo destinguir onde aplicar um ou outro, as vezes penso que cabe até dois padrões para o mesmo problema. Segue algumas especificação do projeto:
- Permitir mais de uma regra de jogo;
- Permitir jogos: Humano X Humano; Humano X Máquina; Máquina X Máquina
- Máquinas jogando com ela mesma deve utilizar, de preferência, inteligências diferentes;
- Interface modo caracter (model view)
- O sistema deve permitir mudança / evolução do código. Por exemplo: Alterar o tamanho do barco; aumentar qtd de barco; alterar o tamanho do tabuleiro; criação de GUI; permitir rodar em um servidor com clientes remotos;
Quais Padrões de Projeto aplicar para estas regras? Alguém pode me ajudar?
Grato!!!