Domain Driven Design aplicada em 01/09/2023.
Domain Driven Design | |
---|---|
ALUNO: | TURMA: 1TDSA |
PROFESSOR: Benefrancis do Nascimento | 01/09/2023 |
CP-I | **** |
Nos últimos 5 anos nossa Holding cresceu 30%, a meta agora é expandir o negócio lançando um revolucionário Curso Online de Linguas.
Nossa equipe de analistas desenvolveu o Diagrama de Classes abaixo, e a sua missão é implementar código capaz de separar as responsabilidades das classes entre as camadas objetivando melhor legibilidade e manutenibilidade do código do programa.
Na sprint atual, você foi incumbido de fazer:
-
As classes responsáveis pelas regras de negócio da aplicação no pacote service.
-
A criação das classes responsáveis pela persistencia e recuperação dos dados no repositório
-
Desenvolver métodos capazes de persistir todos os objetos em List ou outra Collection;
-
A implementação de todos os métodos previstos nas interfaces Repository e Services (A views já estão implementadas):
Você deverá:
Fazer o fork do projeto do github.:
https://github.com/Benefrancis/ecole
Caso o github esteja indisponível, você deverá pegar o projeto no diretório compartilhado.
Alterar o arquivo contido em documentacao/equipe.txt para incluir os RMs e nomes e turma da dupla que fará esta atividade.
OBS: Será com base nos nomes contidos neste aquivo que eu irei atribuir a nota.
-
(1 Pontos) implementar corretamente a classe AlunoService.
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Service;
-
(1 Ponto) implementar corretamente a classe CursoService.
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Service;
-
(1 Ponto) implementar corretamente a classe InstrutorService.
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Service;
-
(1 Pontos) implementar corretamente a classe TurmaService.
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Service;
-
(1,5 Pontos) implementar corretamente a classe AlunoRepository .
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Repository;
- Deverá adotar o padrão Singleton (https://refactoring.guru/pt-br/design-patterns/singleton/java/example#example-2)
-
(1,5 Pontos) implementar corretamente a classe CursoRepository .
Lembre-se que:
- É necessário implementar corretamente os métodos da interface Repository;
- Deverá adotar o padrão Singleton (https://refactoring.guru/pt-br/design-patterns/singleton/java/example#example-2)
-
(1,5 Pontos) implementar corretamente a classe IntrutorRepository .
Lembre-se que:
- É necessário implementar corretamenteos métodos da interface Repository;
- Deverá adotar o padrão Singleton (https://refactoring.guru/pt-br/design-patterns/singleton/java/example#example-2)
-
(1,5 Pontos) implementar corretamente a classe TurmaRepository .
Lembre-se que:
- É necessário implementar corretamenteos métodos da interface Repository;
- O método findByName deverá buscar pelo nome do Curso;
- Deverá adotar o padrão Singleton (https://refactoring.guru/pt-br/design-patterns/singleton/java/example#example-2)
A entrega deverá ser feita pelo NAC no site nac.fiap.com.br, porém não se esqueça de fazer o commit e push do projeto no github.
Nos próximos dias, a correção da prova será disponibilizada no github do professor (branch correcao):
Para acessar digite no prompt:
git clone https://github.com/Benefrancis/ecole && cd ecole && git checkout correcao
A avaliação é em dupla.
Boa avaliação.