Tratando-se de DDD - Uma "entidade" implementar um Facade, é um erro?

por ex:

MyPersonFacade { create(); read(); update(); delete(); }

Person implements MyPersonFacade { //gets e sets create() { myRepository.store(this); } }

Se está, como eu garantiria alguns métodos BÁSICOS senão por intefaces?

Sim.
Aquilo que vc escreveu não é um façade. é simplesmente o uso de interfaces.
Façade implica chamar objetos diversos para alcançar um objetivo simples.
O que vc tem ai é apenas delegação.

Além disso “entidades” não têm métodos "create(),update(), etc … "

[quote=sergiotaborda][quote=MrDataFlex]
Tratando-se de DDD - Uma “entidade” implementar um Facade, é um erro?
[/quote]

Sim.
Aquilo que vc escreveu não é um façade. é simplesmente o uso de interfaces.
Façade implica chamar objetos diversos para alcançar um objetivo simples.
O que vc tem ai é apenas delegação.

Além disso “entidades” não têm métodos "create(),update(), etc … "
[/quote]

Então como eu chamo elas considerando um Rich Domain? simplismente domínio ? e quais os métodos teriam então ?

[quote=sergiotaborda][quote=MrDataFlex]
Tratando-se de DDD - Uma “entidade” implementar um Facade, é um erro?
[/quote]

Sim.
Aquilo que vc escreveu não é um façade. é simplesmente o uso de interfaces.
Façade implica chamar objetos diversos para alcançar um objetivo simples.
O que vc tem ai é apenas delegação.

Além disso “entidades” não têm métodos "create(),update(), etc … "
[/quote]

Nada impede que uma entidade tenha esses métodos, um active record é assim.

[quote=Maurício Linhares][quote=sergiotaborda]
Além disso “entidades” não têm métodos "create(),update(), etc … "
[/quote]

Nada impede que uma entidade tenha esses métodos, um active record é assim.[/quote]

Mas impede que tenha apenas esses métodos… nem o active record é assim.

Ah sim :slight_smile:

Apenas estes métodos também fica meio esquisito.

[quote=MrDataFlex][quote=sergiotaborda]
Além disso “entidades” não têm métodos "create(),update(), etc … "
[/quote]

Então como eu chamo elas considerando um Rich Domain? simplismente domínio ? e quais os métodos teriam então ?[/quote]

Utilize DAO, DomainStore, ou Repository.

Os métodos normais de entidade pessoa. Por exemplo, get nome,get data de nascimento, idade().
Nesse caso vc estaria construindo uma interface readonly para Pessoa. O que pode ser interessante em alguns casos ( reports, listagens) para poder usar o padrão Flyweight sem grande problema.