Fórum Classe de Servico Generica #414564
25/03/2012
0
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
Curtir tópico
+ 0Posts
25/03/2012
Marco Salles
https://www.devmedia.com.br/forum/buscar-todos-os-objetos-no-sistema/414290
Que fim levou ???
Gostei + 0
26/03/2012
Leandro
mais.... oque uma coisa tem haver com a outra ?
Gostei + 0
26/03/2012
Marco Salles
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 .
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)