Lie Ryan a écrit :
On 04/07/10 18:34, Bruno Desthuilliers wrote:
Lie Ryan a écrit :
(snip)

Since in function in python is a first-class object, you can instead do
something like:

def process(document):
    # note: document should encapsulate its own logic
    document.do_one_thing()
Obvious case of encapsulation abuse here. Should a file object
encapsulate all the csv parsing logic ? (and the html parsing, xml
parsing, image manipulation etc...) ? Should a "model" object
encapsulate the presentation logic ? I could go on for hours here...

Yes, but no; you're taking it out of context. Is {csv|html|xml|image}
parsing logic a document's logic? Is presentation a document's logic? If
they're not, then they do not belong in document.

Is len() a list logic ? If yes, it should belong to list !-)

There are two points here : the first is that we (that is, at least, you and me) just don't know enough about the OP's project to tell whether something should belong to the document or not. period. The second point is that objects don't live in a splendid isolation, and it's perfectly ok to have code outside an object's method working on the object.

wrt/ these two points, your "document should encapsulate its own logic" note seems a bit dogmatic (and not necessarily right) to me - hence my answer.

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

Reply via email to