no singletons, please (was Re: an example Re: Connecting to running win32com server)
Alex Martelli
aleaxit at yahoo.com
Thu Oct 12 05:33:11 EDT 2000
More information about the Python-list mailing list
Thu Oct 12 05:33:11 EDT 2000
- Previous message (by thread): an example Re: Connecting to running win32com server
- Next message (by thread): no singletons, please (was Re: an example Re: Connecting to running win32com server)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Mark Hammond" <MarkH at ActiveState.com> wrote in message news:pJ6F5.16918$aD2.74639 at news-server.bigpond.net.au... [snip] > > Here's a test you can try. Go to the win32com/servers > > directory and copy, for example, dictionary.py to a file > > named shareddictionary.py in the same directory. Then, [snip] > FWIW, this is also how I recommend implementing "singletons" in > pythoncom - basically you create a single Python instance that does > the real work - your multiple COM objects simply delegate to the real > Python object. So although you technically still have multiple COM > objects floating around, they all reference the same "real object" > doing the work. Although we seem to be in violent agreement, I think this bears repeating, because the "Singleton" pattern is so snively seductive, yet often inappropriate...: it's often best to *decouple identity and state*, by having many objects (different identities) *sharing state*, rather than trying to ensure the state-sharing happens through all object being one (having the same identity). This applies to COM (in any language), but also outside of it. "Same-Identity" can be a heavy burden to carry around when all one really wants to ensure is "Same-State"... which is most of the time when one starts thinking "Singleton"! Alex
- Previous message (by thread): an example Re: Connecting to running win32com server
- Next message (by thread): no singletons, please (was Re: an example Re: Connecting to running win32com server)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list