22 Ekim 2012 Pazartesi

Class Helper İle Nesne Oluşturmak

Sınıflardan nesne referansı oluştururken,kodun tekrar etmesi,kodun yönetimini zorlaştırıyor, ve sürekli aynı kodu defalarca yazmak bizi yavaşlatıyor.

 Önce :

var  
 aQuery: TUniQuery;
begin
  aQuery := TUniQuery.Create(Application);
  aQuery.SQL.Text := 'sql kodun';
  aQuery.Execute;
  FreeAndNil(aQuery);
end;
TUniquery sınıfına bir "class extension function" yazıyoruz. Dikkat ederseniz bu sefer nesneye extension function olarak değilde, sınıfa extension function olarak yazıyoruz. O sebeble bu işi daha pratik hale getiriyoruz.


 Sonra :

unit uUniHelper;
interface

uses
  Vcl.Forms,
  System.SysUtils,
  System.Classes,
  Data.DB, 
  MemDS,
  DBAccess, 
  Uni;

type
  TUniQueryHelper = class helper for TUniQuery
  public
    class function CreatefromSQL(aSQL: string): TUniQuery;
  end;

implementation


{ TUniQueryHelper }
class function TUniQueryHelper.CreatefromSQL(aSQL: string): TUniQuery;
var
  aQuery: TUniQuery;
begin
  aQuery := TUniQuery.Create(Application);
  aQuery.Connection := UniConnection1;
  aQuery.SQL.Text := aSQL;
  aQuery.Execute;
  Result := aQuery;
end;

end.
var
  aQuery: TUniQuery;
begin
  aQuery := TUniQuery.CreatefromSQL('sql kodun');
  FreeAndNil(aQuery);
end;

iyi çalışmalar.