Por que no método salvaEstado() é criada uma cópia de Contrato?
class Contrato{
//...
public function salvaEstado(){
return new Estado(new Contrato($this->nome,$this->data,$this->tipo));
}
}
Se ao retornar o Estado utilizamos a própria instancia do Contrato acarretaria algum problema a aplicação?
class Contrato{
//...
public function salvaEstado(){
return new Estado($this);
}
}
Para ser mais preciso, com essa implementação existe o risco de caso se altere algo no contrato todos os contratos no histórico(referente ao mesmo objeto) sofram a mesma modificação?