Camada de Domínio
A camada de domínio ou de lógica de negócio do programa a desenvolver deve conter a concretização das entidades da área de aplicação do programa em causa (designado como domínio da aplicação). Neste exemplo, o domínio é muito simples. A aplicação a desenvolver tem que manter o conjunto de números inteiros inseridos pelo utilizador, mantendo o número de vezes que cada número foi inserido. Deve ainda ser mantido a ordem pela qual cada número foi inserido pela primeira vez. Assim, vamos ter duas classes concretizadas na camada de domínio (representada pelo package ex.core):- uma que representa um número inserido e mantém ainda o número de vezes que o número já foi inserido, designada como Number
- e outra que mantém os números já inseridos e preserva a ordem de inserção, designada como Sequence.
- Incrementar/decrementar o número de vezes do número
- Obter o número de vezes do número
- Verificar a igualdade entre dois números, em que dois números são iguais se representarem o mesmo número inteiro
- Guardar a série de números inteiros inseridos pelo utilizador;
- Permitir adicionar e remover um número à série;
- Obter a série de números com a mesma ordem com que foram inseridos pela primeira vez.
- Obter o número total de número inseridos pelo utilizador e o número total de números distintos inseridos pelo utilizador.
Note-se que as entidades da camada de lógica de negócio não devem referir-se a entidades relacionadas com a interacção com o utilizador por forma a serem completamente independentes da interacção com o utilizador, permitindo assim que se possa alterar completamente a camada de apresentação sem ter qualquer impacto na concretização da camada de domínio.