Python vs Java C C++
Ernesto Revilla
aerd en retemail.es
Dom Mar 21 16:32:26 CET 2004
----- 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
Más información sobre la lista de distribución Python-es