Fórum Notificar instância de objeto #502478

26/11/2014

0

Olá pessoal.

Estou com a seguinte situação e me deparei com um problema:

TClasseA = class //Classe base de diversas outras
end;

TClasseB = class(TClasseA)
end;

TClasseC = class(TClasseA)
end;

TClasseX = class
end;

Minha classe X precisa ser notificada toda vez que uma nova instância da classe A, seja ela mesma ou suas classes filhas, for feita. Como posso fazer isso?
Lucas Silva

Lucas Silva

Responder

Posts

26/11/2014

Claudio Ferreira

Há algumas formas de fazer isso, mas a mais bacana é usando o padrão de projeto Observer que provê baixo acoplamento entre as classes. dê uma olhada :

https://www.devmedia.com.br/padrao-observer/2065
Responder

Gostei + 0

26/11/2014

Lucas Silva

Pensei no padrão Observer, mas não sei se é possível encaixá-lo na minha situação. Eu vou precisar fazer a notificação no constructor da classe (ou outro lugar que identifique que uma classe foi instanciada), mas dentro dele eu ainda não terei a lista de observadores. Existe a possibilidade de implementá-lo usando métodos estáticos? Se implementá-lo com métodos estáticos, o padrão continua correto?
Responder

Gostei + 0

27/11/2014

Claudio Ferreira

Nunca tentei. Mas o interessante é resolver o problema sem problemas no que diz respeito ao alto acoplamento, o Padrão observer prima por isso. Se usar com método estáticos e resolver não ficando muito acoplado causando problemas na manutenção, bota pra frente e faz. O padrão estar correto não importa muito, o que importa é resolver dando uma boa implementação considerando o acoplamento. Já cansei de usar alguns padrões mas tive que alterar algumas coisas para que pudesse atender alguma situação, isso é normal.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar