Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this
surprise you if you ran into it in a debugging session?
One very real advantage that I can see is avoiding breaking existing
doctests.
Thanks in advance for your views
John 7 1183 jj*@pobox.com (John J. Lee) writes:
Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this
surprise you if you ran into it in a debugging session?
Does nobody have an opinion on this? Pull your socks up, c.l.py!
<insert reference to argument sketch here>
John
John J. Lee schrieb:
jj*@pobox.com (John J. Lee) writes:
>Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this surprise you if you ran into it in a debugging session?
Does nobody have an opinion on this? Pull your socks up, c.l.py!
<insert reference to argument sketch here>
I've written quite a few proxies, but none of them did that. IMHO this
is similar to using isinstance overeagerly: it works against the
duck-typing principle to guard code by requiring certain base-classes,
instead of just relying on protocol. The same applies here.
There might be of course cases where you have code lying around that
does do some distinctions based on the class-name (I'm certainly I've
seen such stuff once or tiwce, but always regarded it a WTF). Then doing
as you do above might help in getting things work.
Diez
On Nov 20, 3:50 pm, j...@pobox.com (John J. Lee) wrote:
Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this
surprise you if you ran into it in a debugging session?
One very real advantage that I can see is avoiding breaking existing
doctests.
Thanks in advance for your views
Python 3.0 has a proposal, accepted I believe, to allow classes to
control the behavior of issubclass and ininstance, so there appears to
be tacit support from the language for mimicking the proxied classes
in such ways.
I guess for me it would be a judgment call on based how tight I wanted
the proxy class to be--is it being the class, or is it just standing
in?
Carl Banks
On Nov 26, 11:56 pm, Carl Banks <pavlovevide...@gmail.comwrote:
On Nov 20, 3:50 pm, j...@pobox.com (John J. Lee) wrote:
Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this
surprise you if you ran into it in a debugging session?
One very real advantage that I can see is avoiding breaking existing
doctests.
Thanks in advance for your views
Python 3.0 has a proposal, accepted I believe, to allow classes to
control the behavior of issubclass and ininstance, so there appears to
be tacit support from the language for mimicking the proxied classes
in such ways.
I guess for me it would be a judgment call on based how tight I wanted
the proxy class to be--is it being the class, or is it just standing
in?
In Python 2 you can already lie to 'isinstance' and 'issubclass' by
catching calls to the '__class__' and '__bases__' attribute. I'm not
sure yet whether this is a good thing however. :-)
I have a proxy class I want to extend and am facing similar questions.
Michael http://www.manning.com/foord
>
Carl Banks
Fuzzyman wrote:
On Nov 26, 11:56 pm, Carl Banks <pavlovevide...@gmail.comwrote:
>On Nov 20, 3:50 pm, j...@pobox.com (John J. Lee) wrote:
>>Not much to add to the subject line. I mean something like this: ProxyClass.__name__ = ProxiedClass.__name__ I've been told that this is common practice. Is it? Would this surprise you if you ran into it in a debugging session? One very real advantage that I can see is avoiding breaking existing doctests.
Python 3.0 has a proposal, accepted I believe, to allow classes to control the behavior of issubclass and ininstance, so there appears to be tacit support from the language for mimicking the proxied classes in such ways.
In Python 2 you can already lie to 'isinstance' and 'issubclass' by
catching calls to the '__class__' and '__bases__' attribute. I'm not
sure yet whether this is a good thing however. :-)
The Python 3 machinery allows *other* classes to lie about whether or
not your object is an instance or subclass of them, without requiring
them to set your __class__ or __bases__. So, for example, you can
create a class ``Integer`` and make ``issubclass(int, Integer)`` true.
For more information see: http://www.python.org/dev/peps/pep-3119/
STeVe
Steven Bethard wrote:
........
The Python 3 machinery allows *other* classes to lie about whether or
not your object is an instance or subclass of them, without requiring
them to set your __class__ or __bases__. So, for example, you can
create a class ``Integer`` and make ``issubclass(int, Integer)`` true.
For more information see:
http://www.python.org/dev/peps/pep-3119/
STeVe
That will allow me to magically create instances which claim to be instances of
working_class even though they're actually instances of reactionary_class thus
turning all my modules into instances of class_war :)
--
Robin Becker
"Diez B. Roggisch" <de***@nospam.web.dewrites:
John J. Lee schrieb:
>jj*@pobox.com (John J. Lee) writes:
>>Not much to add to the subject line. I mean something like this:
ProxyClass.__name__ = ProxiedClass.__name__
I've been told that this is common practice. Is it? Would this surprise you if you ran into it in a debugging session?
Does nobody have an opinion on this? Pull your socks up, c.l.py!
<insert reference to argument sketch here>
I've written quite a few proxies, but none of them did that. IMHO this
is similar to using isinstance overeagerly: it works against the
duck-typing principle to guard code by requiring certain base-classes,
instead of just relying on protocol. The same applies here.
Sure. The push here was the doctest issue.
There might be of course cases where you have code lying around that
does do some distinctions based on the class-name (I'm certainly I've
seen such stuff once or tiwce, but always regarded it a WTF). Then
doing as you do above might help in getting things work.
Right.
The actual case I'm talking about here involved an exception class
(dynamically created by subclassing at runtime, eugh) -- and a common
one at that -- so it's a pretty common thing in doctests and any
workaround on the doctest level would be very ugly (of course,
alternatives include working around it by wrapping the code that
raises the exception, or changing the doctest files to use the new
exception name).
What worries me is the potential for confusion. Again, would it
confuse you (not just Diez, everybody)?
John This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Clive Backham |
last post by:
I tried posting this on comp.infosystems.www.misc, but that group
appears to get very little traffic. So now I'm trying here. If there
is a more appropriate group, please let me know.
I'm...
|
by: Jonas Cord |
last post by:
Hi, I'm trying to learn proxy classes in C++ so I've written the
following code, trying to modify an example given in Deitel & Deitel's
C++ book.
I am trying to "hide" details of the original...
|
by: ytrewq |
last post by:
Should dynamic ("expando") properties be restricted to native and
user-defined objects? Or should host objects - such as references to
the browser or a plug-in or to the document and its elements -...
|
by: ffhansix |
last post by:
Hi,
I am having problems with generating a c# proxy class from a IBM
websphere WSDL file, when running the wsdl.exe to create the c# proxy
file command i recieve an error:
Warning: one or...
|
by: Dave Langley |
last post by:
I'm using VC++ to write an VC++ unmanaged client to communicate to a C#.NET
web service. I have the proxy class for the unmanaged client and it uses the
default CSoapSocketClientT<> template as...
|
by: TS |
last post by:
Hi, i have some common classes that i pass from my client app through the
web services to my server side app. I have their assembly referenced in both
places. The proxy automatically creates its...
|
by: Scott |
last post by:
We have a c# webform application that uses ASP.NET webservices to
communicate with our IIS server over the public internet. The customer is
complaining that our application is using their default...
|
by: HenrySeque |
last post by:
I have a webservice and I add a web reference from my web project.
I want the proxy class to implements an Interface, but I didn't find the
source code of the proxy class and I don't want to...
|
by: Arpan |
last post by:
Web Services make use of proxy classes whose methods & properties are
accessed in exactly the same way as how a normal class' methods &
properties are accessed. So what for does ASP.NET generate...
|
by: Rina0 |
last post by:
Cybersecurity engineering is a specialized field that focuses on the design, development, and implementation of systems, processes, and technologies that protect against cyber threats and...
|
by: erikbower65 |
last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps:
1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal.
2. Connect to...
|
by: linyimin |
last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
|
by: kcodez |
last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
|
by: Taofi |
last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same
This are my field names
ID, Budgeted, Actual, Status and Differences
...
|
by: DJRhino1175 |
last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this -
If...
|
by: Rina0 |
last post by:
I am looking for a Python code to find the longest common subsequence of two strings. I found this blog post that describes the length of longest common subsequence problem and provides a solution in...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
| |