programacion en tres capas

Milton Galo Patricio minoztro en gmail.com
Dom Nov 6 21:31:15 CET 2005


ok, era lo que en realidad esta preguntando, la forma de hacerlo,
muchas gracias!!, salu2!!

El 6/11/05, Joaquin Jose del Cerro
Murciano<jjdelcerromurciano en yahoo.es> escribió:
>
> Hola,
> LLevo siguiendo este hilo desde hace un par de dias, y aun no entiendo
> bien cual es el problema que tienes. Te puedo contar como lo hago a ver si
> te sirbe de algo.
>
> Tengo una carpeta donde meto una carpeta por aplicacion, por ejemplo
>
> aplis
>   agenda
>
> En la carpeta "agenda" tengo un fichero __init__.py (con lo que te interese
> meter en el). Esto convierte "agenda" en un paquete.
> Dentro de agenda tengo varias carptetas, entre ellas una "model" y otra
> "view" (si tienes mas tu mismo, aplica la idea si te apaña).
>
> aplis
>   agenda
>     __init__.py
>     model
>       __init__.py
>       persona.py
>     view
>         __init__.py
>
>
> Dentro del "model" meto las reglas de negocio (como podria ser la capa
> intermedia dentro de un modelo en tres capas). Y dentro del view, si solo
> tengo un view (es normal que tenga varios, tradicional con tk y web con zope),
> va la aplicacion de usuario que usa lo que hay en model para acceder a los
> datos.
> El model no tiene main. Solo son clases que proveen de la capa de negocio.
> En el main del view lo que hago es insertar en el path (similar a como ya ha
> comentado Asier) path a la carpeta aplis.
>
> De esta forma desde el view puedo hacer
>
> from agenda.model.persona import Persona
>
> Y me permite desde una misma aplicacion usar modelos de varias aplicaciones,
> ademas de permitirme insertar facilmente y sin cambios la aplicacion en el
> site-packages (si lo quiero).
>
>
>
> El Domingo, 6 de Noviembre de 2005 18:05, Milton Galo Patricio escribió:
> > miren, lo estoy haciendo de esta forma (envio un ejemplo sencillo,
> > pero plazma lo que se quiere realizar)
> >
> > contenido de fichero persona.py:
> >
> > class Persona:
> >       def __init__(self,nombre=None):
> >               self.nombre=nombre
> >               self.anio=None
> >               self.descripcion=None
> >
> >       def obtener_nombre(self):
> >               return self.nombre
> >
> > contenido de fichero main.py:
> >
> > from persona import Persona
> >
> > if __name__=="__main__":
> >       per=Persona('Hola')
> >       print per.obtener_nombre()
> >
> >
> > en este caso los dos ficheros estan en el mismo directorio, obviamente
> > si estuvieran en distinto directorio deberia modificar el path de
> > python agregandole la ruta de la forma que lo hizo asier.
> >
> > no se si queda m'as claro lo que estoy haciendo, salu2!!, espero
> > comentarios
> >
> > --
> > Milton Inostroza Aguilera
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
>
>
> ______________________________________________
> Renovamos el Correo Yahoo!
> Nuevos servicios, más seguridad
> http://correo.yahoo.es
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>


--
Milton Inostroza Aguilera




Más información sobre la lista de distribución Python-es