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?
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
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.