Todos os objetos têm um ciclo de vida, alguns têm vida longa, passando por
vários estados e sendo persistidos para posterior utilização, outros têm a vida mais
curta sendo apenas utilizados em memória, alguns são criados apenas com uma
simples chamada em seu construtor, outros exigem mais processamento para serem
criados. Controlar estes objetos implica em 2 desafios para um Design Dirigido por
Modelos, manter a integridade do objeto durante todo o ciclo de vida e impedir que o modelo se deixe levar pela complexidade do gerenciamento do ciclo de vida. Para tratar
destas questões utilizaremos os padrões Agradado, Fábrica e Repositório.