MVCBr – Um Adaptador para Interface – Descobrindo recursos invisíveis #3

Share Button

Tenho um objeto implementado utilizando uma herança nativa da DELPHI e gostaria de fazer uso de INTERFACE para este objeto sem precisar implementar uma nova classe.

base
Um patterns adapter objetiva gerar um adaptador que recebe um objeto externo e implementa novas funcionalidade.

elementar meu caro
Não estamos falando de herança, mas de um adaptador ao objeto que adiciona funcionalidade para o qual não foi desenhado originalmente.
Destaco como o adapter responde como se fosse o próprio objeto expondo procedures, funções e atributos diretos sem fazer CAST dos mesmos.

Unit: MVCBr.Patterns.Adapter;

uses MVCBr.Patterns.Adapter;

Type
    // objeto base a ser adaptado
    TMeuObjeto = Class(TObject)
       public
         texto:string;
    End;



procedure TForm85.FormCreate(Sender: TObject);
var
   LAdapter : IMVCBrAdapter<TMeuObjeto>;
begin

   LAdapter := TMVCBrAdapter<TMeuObjeto>.create(nil);
   // atribuir valor
   LAdapter.texto := 'texto de exemplo';

   // pegando o valor do objeto
   ShowMessage(  LAdapter.texto  );

end;