FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Dudas sobre el diseño en 3 capas
Querido delphinarios quisiera solcitar su ayuda en lo siguiente.
A modo de poder aprender la oop es que me he dispuesto un ejemplo practico : Suponiendo un sitema para una ferreteria he tomado solo lo que se refiere a la codificacion de productos que la dispongo como SuperFamilia-Familia-Subfamilia-Producto.- por ejemplo Ferreteria---------------------------------------->Superfamilia Electricidad ------------------------------------->Familia Transformadores------------------------------>subfamilia transformador electrico--------------->Producto Desarrollar una aplicacion que maneje codigos usando como fuente de datos access. la estructura de codigo es : Super Familia Familia SubFamilia Producto Luego ya con esto creo las tablas correspondientes en access.- Por su parte en delphi construyo lo siguiente. 3 unidades : 1.- llamada Dato -> (Data Module) contiene las conecciones 2.- llamada registro -> contiene los record de las estructuras de las tablas 3.- llamada clase -> contiene la definicion de clases UNIDAD DATO : esta unidad contiene las conceciones a la base de datos y su coneccion con las tablas PRIMERA DUDA Es en esta unidad donde defino los procedimiento y funsiones de acceso a las tablas Ejemplo : Cita:
Bueno mi gran duda es que si quisiera heredar si esta bien que en la unidad Dato Especifique los accesos a los datos o bien lo defino en cada clase para luego poder heredar... Espero se comprenda esto De antemando agradesco sus comentarios.... Saludos Marco Chile Última edición por cacu fecha: 01-04-2009 a las 15:24:10. |
#2
|
||||
|
||||
Amigo Cacu...
Intenta nombrar mejor tus post, pues no se entiende que quieres, y utiliza las etiquetas de código Delphi, date una vuelta por la Guía de Estilo. Saludos...
__________________
Herr Heins Faust |
#3
|
||||
|
||||
Oop
OOP-> Programacion Orientada a Obejtos
que es lo que intento hacer construyendo mis propias clases Eso........ |
#4
|
||||
|
||||
Al igual que el compañero Faust, te recomiendo que leas la guía de estilo y utilices las etiquetas adecuadas. Supongo que te das cuenta que el código que pones no está indentado.
Además, te recomiendo intentar ser más claro en la exposición: Cita:
Luego pones una imagen que puede verse muy bien en tu disco duro, pero hay que subirla a algún lugar (como imageshack.us) para que los demás nos enteremos. Mencionas tres unidades y pones cuatro. ¿Qué significa conceciones (sic) a la base de datos? En fin, si tomas más tiempo y dedicación a la formulación de tu pregunta, seguro alguien podrá responderte. // Saludos |
#5
|
||||
|
||||
Oop
Bien roman agradesco tu observacion....el tema planteado no se trata de un error ni nada que se paresca solo de experiencia en esta tecnica.......que yo no domino bien......y que no se necista mayor esfuerso por cuanto solo quien tenga esa experiencia podra darme un consejo....
Gracias |
#6
|
||||
|
||||
Opp
Primero que todo el nombre de este post tubo que haber sido "Dudas sobre el diseño en 3 capas".
Este modelo yo particularmete lo he visto de la siguiente manera de la forma de poder encapsular la progamacion y de paso aprender ha trabajar con clases |
#7
|
||||
|
||||
Pero cual es tu duda?
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#8
|
||||
|
||||
asilar codigo
He pensado que le mejor titulo para este post es el de Aislar el Codigo.
Con el fin de poder aprender acerca del desarrollo de clases ..es que me propuse un ejemplo. Este consistio en crear una simple aplicacion que pudiese manejar informacion relativa a una ferreteria que en este caso seria los codigos de producto. Es asi como separe este codigo en 4 categorias.. Superfamilia-Familia-Subfamilia-Producto. Con este enfoque creo mi base de datos conteniendo 4 tablas relacionas entre si. Bien ahora es el turno de la aplicacion : Dispongo de un DataModule en el cual agrego un componente de coneccion a la base de datos. Habitualmente lo que hago es : 1.- poner el codigo necesario para verificar que exista la base de datos en el lugar que se supone de bede estar, una ves hecho esto(verdad) , pongo el codigo necesario para descubrir la ruta y abrir la coneccion, todo esto en el datamodule. 2.-en el form de la aplicacion pongo el codigo nesesario para trabajar con los datos ingresados y almacenarlos en las tablas que correspondan. El tema esta en que estoy tratando de hacer que todo el codigo sea aislado del datamodule como de la aplicacion, de la siguiente manera DataModule --->unidad de clase---->aplicacion Donde en el - DataModule : solo estan los componetes - Unidad de Clase : pongo el codigo nesesario para la verificacion de la existencia de la base de datos , abrirla y ademas pongo el codigo necesario para almacenar los datos. Todo esto creando clases .- - Unidad del form : pongo el codigo de validacion de los datos... Bueno de acuerdo a esto la duda seria : En este sentido las clase ...deebrian solo servir para la validacion de las validacion de los datos.- Deebria poner en el data modulo el codigo del manejo de los datos y solo usar las clases para el manejo de estas????? Espero quese me pueda entender lo que intento hacer...si alguien a trabajado de esta menera le solicito que pudiesen orientarme... Agradesco sus comentarios Saludos |
#9
|
||||
|
||||
Cita:
Sobre tus dudas te diria que sigas lo que dice UML acerca de un sistema; pero para resumirte un poco UML nos dice que un sistema debe tener 3 capas ;al hacer un digrama de colaboracion de algun caso de uso te daras cuenta que la primera capa es la capa de datos,la segunda capa de negocio, la tercera capa de presentacion. Acontinuacionte explico algo de cada una: *La capa de datos son clases encargadas de gestionar la conexion,insercion,actualizacion,etc de los datos con la base de datos. Generalmente por cada tabla de tu base de dato tendras al menos una clase que se encargue de gestionar lo anteriomente dicho.generalmente estas clases se llaman "clase entidad". *La capa de Negocio son clases tambien que utilizan objetos de las clases entidades para ejecutar cualquier accion hacia la base de datos,en mi caso es aqui lo que hago las validaciones antes de hacer alguna accion que pueda cambiar mi base de datos.En esta capa esta el negocio de la aplicacion y es como una intermediaria.Generalmente se llaman en UML "Clase Control". *La capa de presentacion son clases interfas ,es decir son tus clases de tu formulario, donde el usuario se comunica con el sistema, estas clases utilizan a las clases controles.Ten en cuenta que la capa anterior es decir capa de negocio debe ser independiente de esta capa de presentacion en otras palabras por ejemplo no tienes que tener un metodo por ejemplo que llame o utilize digamos a un Edit especifico de algun formulario,pero tu diras ¿Por que?,pues por que que pasaria si por alguna razon en algun tiempo cambias de interfaz,tendrias problemas,en otras palabras es como construir un auto ,la capa de datos seria el motor del auto,la capa de negocio seria las piezas externas al motor como cables,enchufes,etc y la capa de presentacion seria la carcaza del auto, es decir la lata que cubre el auto de tal forma que si se quiere cambiar de caparazon por asi decirlo,tranquilamente se hace ya que el negocio no dependeria de la capa de presentacion. Para profundizar mas podrias leer algun libro de UML 2.0.el tema es amplio. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#10
|
||||
|
||||
Asilamiento de codigo
Que puedo decir....Gracias....muy interesante tema..megustaria debatir mas estos temas........
Nuebamente Gracias... Saludos |
#11
|
||||
|
||||
Cita:
Lo que pasa que en delphi puedes hacerlo todo desde el formulario,comunicarte ala base de dato con algun componente directo desde el formulario,en realidad esta orientado a esta forma de trabajo,es decir no se sigue el consejo de UML, y aveces nos acostumbramos a trabajar asi;pero cuando haces un sistema grande te das cuenta que debes trabajar de una forma ordenada.Por cuestiones de mantenimiento y estandarizacion.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Duda sobre OOP y capas | AzidRain | OOP | 4 | 04-08-2007 00:25:35 |
sobre aplicacion de 3 capas | yoyo | Providers | 4 | 03-08-2007 18:08:12 |
Dudas sobre Locate | silviodp | Conexión con bases de datos | 8 | 28-04-2004 14:59:26 |
dudas sobre el DataModule | Giniromero | Conexión con bases de datos | 8 | 12-12-2003 13:33:13 |
Dudas sobre IP | acertij022 | Internet | 0 | 20-05-2003 21:04:29 |
|