pass object or use self.object?
Bruno Desthuilliers
bruno.42.desthuilliers at websiteburo.invalid
Thu Apr 8 04:20:55 EDT 2010
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.
More information about the Python-list
mailing list