Python vs Java C C++

Marcos Sánchez Provencio rapto en arrakis.es
Dom Mar 21 17:19:35 CET 2004


A mí me parece que deberías desacoplar el comportamiento previsiblemente 
variable en otro atributo, de manera que:

De

empresa.hazesto()

pasarías a

empresa.reglas.hazEsto()

y para migrar

empresa.reglas=otrasReglas

los atributos que no variaran seguirían en el mismo sitio; los que 
cambien, la migración de versión no te la quita nadie.

Ernesto Revilla escribió:

>----- Original Message ----- 
>From: "Hernan Foffani" <hernan en orgmf.com.ar>
>...
>  
>
>>>... El evitar tener que rearrancar el software lo
>>>hace realmente más escalable. En vez de empresas con 5 puestos puedo
>>>ponerselo a los que tengan 20 ó 30.
>>>      
>>>
>>Concuerdo contigo.  Pero en ese caso ¿es necesario que TODO el
>>servidor de aplicacion sea actualizable en tiempo real? (por TODO me
>>refiero a todos los modulos del sistema.)
>>¿no te sería mas fácil reducir la capacidad de hacer modificaciones
>>en caliente a solo una parte del mismo? (la que da servicios a
>>usuarios)
>>    
>>
>
>sí, en principio sólo se reduce a una parte pequeña de la aplicación, 
>que son las clases de negocio, pero de los cuales puede haber
>60 ó 70 y que viven normalmente en el mismo directorio y que
>además siempre van a ser 'from NombreEntidad import NombreEntidad'. 
>
>Acabo de probar:
>  
>
>>>>class MiObjeto(object):
>>>>        
>>>>
>            def metodo(self):
>                print "implementación 1"
>  
>
>>>>mo=MiObjeto()
>>>>class MiObjeto(object):
>>>>        
>>>>
>            def metodo(self):
>                print "implementación 2"
>  
>
>>>>mo.__class__=MiObjeto
>>>>mo.metodo()
>>>>        
>>>>
>implementación 2
>
>bajo Python 2.2 y 2.3 y me funciona bien, lo que me puede servir. Lo que no funciona (en Python 2.3) es:
>  
>
>>>>class MiObjeto(object):
>>>>        
>>>>
>            def metodo(self):
>                print "implementación 1"
>  
>
>>>>mo=MiObjeto()
>>>>class MiObjeto(object):
>>>>        
>>>>
>            def metodo(self):
>                print "implementación 2"
>  
>
>>>>mo.__class__.__dict__.update(MiObjeto.__dict__)
>>>>        
>>>>
>Traceback (most recent call last):
>  File "<pyshell#20>", line 1, in -toplevel-
>    mo.__class__.__dict__.update(MiObjeto.__dict__)
>AttributeError: 'dictproxy' object has no attribute 'update'
>
>ni me deja actualizar cambiar el atributo __dict__ (reemplazarlo por otra copi)
>
>Erny
>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es
>  
>




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