Re: Adding a field to a 'foreign' object from the outside



On Fri, Jan 23, 2009 at 1:19 PM, atleta <atleta.hu@xxxxxxxxx> wrote:
I'm working with a callback API (a DBus one) and I'd need to store
some state between the calls somewhere. I know that it's possible to
extend an object with fields after creation, so I could just store my
data in the session object that is passed in with every callback.
However it stinks from OO perspective, at least to me. The other
option, something that I'd do in java for example, would be to set up
a mapping (a dict) using the session object as a key. Which one is the
'pythonic' way? Do you use the first method (modifying an object that
you don't even control the source of) or do you write a bit more code
and go with the second one?

The more elegant approach is your 2nd one.
A wrapper object that hold the extra data and functionality
you require while maintaining the APIs needs.

Tacking things on is a bit hackish :) (but nonetheless probably works).

--JamesMills
.



Relevant Pages