Fórum Classe de Servico Generica #414564

25/03/2012

0

Estou implementando um framework ORM
BO - Objeto
DAO - Comunicacao com o banco de dados(insert, update...)
SERVICE - Fachada entre a aplicação e a camada que acessa o banco de dados.

Nao entendi muito ainda como fazer o service, pois preciso de um service gerenico, por que estou fazendo componentes tambem
que vai ter propriedades publicas BO, BOService

DAO

unit ClienteDAO;

interface

uses ClienteBO, GenericDAO;

type
TClienteDAO = class(TGenericDAO<TClienteBO>)
end;

implementation

end.

SERVICE

TClienteService = class
private
FDao : TClienteDAO;
public
constructor Create;
destructor Destroy; override;
function Insert(var O: TClienteBO): Boolean; reintroduce; virtual;
function InsertCollection(var O: TObjectList<TClienteBO>): Boolean; reintroduce; virtual;
function Update(var O: TClienteBO): Boolean; reintroduce; virtual;
function Delete(var O: TClienteBO): Boolean; reintroduce; virtual;
function FindAll(var O: TObjectList<TClienteBO>): Boolean; reintroduce; virtual;
function FindByKey(var O: TClienteBO): Boolean; reintroduce; virtual;

dessa forma funciona legal o service, mais ai nao consigo usar a classe no componente


precido de um service gerenico para usa como propriedade no meu componente de pesquisa.


algo do tipo:

TIBaseGenericService<T: TGenericDAO<TAbstractBO>, constructor> = Interface [{F3089596-24EA-4341-BB08-AB8BE2814DF0}]
end;

TGenericService<T: TGenericDAO<TAbstractBO>, constructor> = class(TInterfacedObject, TIBaseGenericService<T>)
private
FDao : T;
public
constructor Create; virtual;
Destructor Destroy; override;

function Insert(O: TAbstractBO): Boolean;

function TGenericService<T>.Insert(O: TAbstractBO): Boolean;
begin
Result := Self.FDao.Insert(O);
end;

não consigo extender um objeto do TGenericService.....

Leandro

Leandro

Responder

Posts

25/03/2012

Marco Salles

Mas e sore este tópico seu aqui

https://www.devmedia.com.br/forum/buscar-todos-os-objetos-no-sistema/414290

Que fim levou ???

Responder

Gostei + 0

26/03/2012

Leandro

Ainda nao cheguei uma uma solucão concreta, mais acredito que o melhor a se fazer é adicionar todoa os objetos em uma lista depois varrer ela...

mais.... oque uma coisa tem haver com a outra ?
Responder

Gostei + 0

26/03/2012

Marco Salles

E o que eu fiz quando apresentei a classe ??

Flista:=TList<TObject>.Create;

Adicionei os objetos na Lista para percorrer depois.

È pq as vezes uma dúvida inicialmente sua pode servir de referência para outras pessoas
que buscam informações nos meios de pesquisa . E é importante que as pessoas que fazem a chamada retornem
o contato para divulgar a experiencia. Assim um ajuda o outro pois compratilha experiência
e o Forum passa a ter mais visibilidade nos meios de pesquisa .
Responder

Gostei + 0

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

Aceitar