From: Terrel S. <tsh...@tr...> - 2001-03-30 02:02:56
|
Chuck Esterbrook wrote: > At 06:37 PM 3/29/2001 -0500, Terrel Shumway wrote: > >Again, it depends on what you want to do. Personally, I would tend to shy > >away from a design that was sensitive to the problem you describe here. > > That's funny because I would actually shy away from a problem like this. :-) I think we both mean the same thing. > At some point, I would override another method in the wrapper and get > burned by the fact that wrapped's implementation won't use it, even though > outside objects will. If you use it as a bastion (facade), there will usually be a clear separation between "client" and "implementation", so there should be little confusion. I that case, however, I would not use __getattr__. I would completely hide the wrapped object and explicitly declare each method I wanted to be "visible". > In any case, if you really want, you can use the fix I describe in an > earlier msg, ending in im_func. But that's scary stuff. :-) Agreed. The more you mess with the language implementation guts, the less portable and understandable your code becomes. Encapsulate the yucky stuff if you do need it. OTOH, isn't that one reason python is so great? because you CAN. ;-) [compare to introspection in Java: AHHHH!] Did you read the mixout stuff? |