Seguintes, vou precisar implantar um log de modificações na alteração de um objeto, isto é, sempre que esse objeto sofrer qualquer modificação, preciso saber o que mudou e persistir isso num log. No caso, é um objeto chamado Produto com vários atributos: cada vez que um ou mais desses atributos for modificado, preciso saber qual foi esse atributo e qual o novo valor dele. Eu poderia fazer isso manualmente para esse objeto, mas pensei em fazer algo mais completo, uma classe que faça essa comparação com qualquer objeto que eu quiser.
Se fosse algo específico para o “Produto”, eu até saberia por onde começar, mas não tenho nenhuma ideia por onde começar a fazer isso de modo genérico, que sirva para qualquer objeto. Eu teria que percorrer cada atributo da classe e comparar com outro, mas também precisaria poder - caso eu quisesse - ignorar um ou mais atributos dessa comparação, de alguma forma.
Esse tipo de problema tem algum nome específico, por onde eu deveria começar a pesquisar?