Initializing an attribute that needs the object

Bruno Desthuilliers bdesth.quelquechose at free.quelquepart.fr
Fri Jun 2 22:03:21 EDT 2006


David Pratt a écrit :
> Hi. I want to have different handlers to do perform logic. The problem 
> is the Handler requires an instance of the factory since it will use its 
> own methods in conjunction with methods of the factory.
> 
> Once I have got a Factory instance I can give it a new handler (see 
> below). It would be more flexible if I could provide a handle in 
> constructor - but how to do this when it requires the object itself. 

Hint : Python classes are objects too.

> class Factory:

Do yourself a favour : use new-style classes.

class Factory(object):
   def __init__(self, handler_class):
     self.handler = handler_class(self)

class SomeHandler(object):
   def __init__(self, factory):
     self.factory = factory

f = Factory(SomeHandler)



More information about the Python-list mailing list