dev iniciante. alguma neura com algo como. o meu repositorio de companies so pode inserir dados na tabela companies. faz sentido isso ?
pelo pouco que eu estudei desse design Pattern por enquanto ele me parece fazer sentido em situações estilo ' efeito dominó ' eu cadastrei uma company eu preciso apos isso inserir dados acessorias como endereços, telefones e emails.
Entendi sua lógica. Não é esse o caso. O objetivo do observer não é cascatear (efeito em cascata/dominó) eventos mas permitir a objetos "interessados" em alguma ocorrencia ficarem cientes quando algo acontecer. Isso ajuda a isolar as responsabilidades e desacoplar os objetos. No seu caso a solução é a transação. Caso contrário você corre o risco de ter inconsistências na sua base de dados.