Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 04-08-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Gracias Roman, ese artículo ya lo había leído.

Finalmente y por el momento lo deje como lo tenía solo agregue una función al visor que lee o escribe los datos del Objeto a los controles y viceversa. Si hay algún cambio solo tengo que modificar esos métodos.

Por otro lado y a manera de contribución al tema, me encontré este artículo bastante interesante que me aclaró algunos puntos y aunque los ejemplos son de C# se entiende perfectamente.

http://jmhogua.blogspot.com/2007/02/...-negocios.html

Me pareció interesante porque no se limita a teorizar sino que da un ejemplo real de como se aplica la separación de capas.

Por otro lado resolvi una duda que tenia respecto a como ubicar las capas mediante estas sencillas reglitas que a lo mejor son tontas pero bien que sirven:

* La capa de presentación (un TFOrm) no tiene acceso a la capa de datos (ni la conoce)
* La capa de negocio es la unica que puede acceder a la capa de datos
* La capa de presentacion solo puede ver a la de negocio
* La capa de negocio es la que tiene que validad todo antes de pasar a la de datos.

Comento tambien que me quedó muy entendible mi modelo ya que a pesar de que me dio mas trabajo de teclear que lo normal, para estarle cambiando algo es muy sencillo y siempre determino precisamente en que parte debo corregir, cosa que cuando lo hago en no OOP es mucho más relajo.

Por otra parte también terminé de comprender bien lo de las excepciones ya que las utilizo cuando hago las validaciones y hay algun problema

miren quedo algo como esto:
Este codigo se ejecuta al hacer click en el boton aceptar de la forma
Código:
 WriteEmpresa(laEmpresa); // Escribimos los datos del form al objeto laEmpresa
   Try
     laEmpresa.ValidarDatos; //Le pedimos a la empresa que se valide
     modalResult :=mrOk;     // Si todo salió bien la ventana se puede cerrar
   except
     on E: ERFCNovalido Do  // La validación puede generar estas excepciones
     Begin
       eRFC.SetFocus;         // como ya se donde esta el error 
       eRFC.SelectAll;         //  puedo seleccionar el control correspondiente
       raise;                     // vuelvo a elevar la excepción para mostrar el 
     end;                        // mensaje de error.
    on E: ENivelesNoValidos Do   // ....y asi para cualquier otro error de validación
     Begin
       TabCatalogo.SetFocus;
       eNivel1.SetFocus;
       raise;
     end;
   end;
Ahora bien a la clase TEmpresa le puse su validador:
Código:
procedure TEmpresa.ValidarDatos;
begin
   If Trim(RFC)='' Then raise ERFCNovalido.Create('El RFC no puede estar en blanco');
   If ( (Personalidad= E_PERSONAFISICA) and (Length(RFC)<>13)) OR  ((Personalidad= E_PERSONAMORAL) and (Length(RFC)<>12)) Then raise ERFCNovalido.CreateFmt('El RFC %s no es válido',[RFC]);
   If Not NivelesValidos Then raise ENivelesNoValidos.Create('La suma de digitos de los niveles no puede ser mayor que 21');
end;
En otra unidad definí las excepciones ERFCNoValido y ENivelesNoValidos.


Que bonito se ve el código y dejen lo bonito que facil es de depurar y lo mejor, corrió a la primera.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sobre aplicacion de 3 capas yoyo Providers 4 03-08-2007 18:08:12
Duda sobre DFS enrique_84 Varios 2 08-06-2006 11:53:40
Una duda sobre los Uses jorch_yr Varios 1 30-05-2004 04:39:40
Una duda sobre ADO PTW Conexión con bases de datos 1 13-04-2004 23:33:14
Duda sobre ADO Omar Alejandro Conexión con bases de datos 7 31-05-2003 19:52:58


La franja horaria es GMT +2. Ahora son las 01:10:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi