Esmail wrote:

In my opinion,
neither should be nested.  Nothing is gained and something is lost.
Neither are used by client; indeed both use client.

I nested them because I see them as components of the client which
keeps track of the connection parameters and makes the initial
connection and then hands the info off to the two threads for
processing, and then also helps the two threads communicate with
each other.

This seemed like a good choice to me, can  you (or someone else)
elaborate why this is not a good design? The idea was to encapsulate
all the client info/code in one place.

They are all encapsulated in the module.

To make a closure, the inner function *must* be nested in the outer.
To be an instance method, a function *must* be a class attribute, and the easier way to indicate that is by nesting.

In this case, the client does *not* use the other two classes, so the nesting is misleading. I think the only time a class *might* be nested is when it is used by and only (directly) used by whatever it is nested in -- and even then, nesting is not necessary. A class statement can only use global and class local names and not the non-global names in the surrounding context.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to