Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Contexto compartilhado

Na aula 05 -> video 5.3 de Arquitetura Java com DDD, fiquei com uma dúvida. Foi definido que o identificador único do médico é o crm e o do cliente o cpf, certo? Supondo que o o médico tenha o crm como identificador único, mas além disso ele teria também o cpf... Nesse caso o cpf seria um ValueObject e estaria em um contexto compartilhado assim como o caso do endereço mostrado no vídeo?

2 respostas
solução!

Olá, Luis! Tudo joia?

Sua dúvida é muito pertinente! Vamos lá.

No Domain-Driven Design (DDD), um Value Object é um objeto que não possui identidade própria, ou seja, é definido apenas por seus atributos. O CPF, nesse caso, pode sim ser considerado um Value Object, pois ele é um valor que identifica uma pessoa, mas não possui identidade própria no domínio.

Quando falamos de contexto compartilhado, estamos nos referindo a informações que podem ser utilizadas em diferentes partes do sistema, mas que não necessariamente definem a identidade de uma entidade dentro de um domínio específico. No exemplo que você deu, o CPF do médico pode ser um Value Object que é compartilhado entre diferentes contextos (como o contexto de médicos e o contexto de clientes).

Por exemplo, no contexto do médico, o CRM é o identificador único, mas o médico também possui um CPF que é um Value Object. No contexto do cliente, o CPF é o identificador único. Ambos os contextos compartilham o conceito de CPF como um Value Object, mas cada um tem seu próprio identificador único (CRM para médicos e CPF para clientes).

public class Medico {
    private String crm; // Identificador único
    private CPF cpf; // Value Object

    // Construtor, getters e setters
}

public class Cliente {
    private CPF cpf; // Identificador único

    // Construtor, getters e setters
}

public class CPF {
    private String numero;

    // Construtor, getters e setters
}

Nesse exemplo, o CPF é um Value Object que pode ser utilizado em diferentes contextos, mas o CRM e o CPF são identificadores únicos em seus respectivos contextos.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Obrigado pela seu tempo e sua explicação, me sinto mais aliviado em ter entendido melhor!