Hola Jorge,
Normalmente, cuando quieres encapsular tu logica de aplicación en clases lo que se hace es diseñar varias capas, como mínimo 3: La base de datos, la interfaz y la "capa intermedia" que es donde van tus clases.
En el ejemplo que pones, la clase TFactura tendria que "ver" la base de datos o, aun mejor, un modulo de datos que le diese acceso a la BD. Por otra parte, la clase debe ofrecer una interfaz "suficiente" para que la interfaz de usuario (sea un form o una pagina web) pueda manipular esa factura.
Te pongo un ejemplo tonto de como podria quedar el código del boton guardar de un supuesto formulario que crease una factura nueva:
Código:
procedure TForm1.BtGuardarOnClick(Sender: TObject);
begin
with TFactura.Create(Self) do
begin
try
Cliente := EdNumero.Text;
Descripcion := EdDescrip.Text;
//aqui guardariamos todas las propiedades y al final...
GuardateEnLaBd;
finally
Free;
end;
end;
end;
Esto es solo un ejemplo, evidentemente se podria hacer de mil maneras, pero lo importante es separar la presentación grafica de el "meollo" del programa.
Si quieres más información, en el foro se ha discutido varias veces de temas parecidos y en
http://www.grupoalbor.com , en algun numero de la revista Sintesi (que te puedes descargar gratuitamente) hay una serie de buenos articulos sobre como programar OO con Delphi.