[Python-Dev] PEP 246: lossless and stateless
Phillip J. Eby
pje at telecommunity.com
Fri Jan 14 16:07:00 CET 2005
At 10:09 AM 1/14/05 +0100, Just van Rossum wrote:
>Guido van Rossum wrote:
>
> > Are there real-life uses of stateful adapters that would be thrown out
> > by this requirement?
>
>Here are two interfaces we're using in a project:
>
> http://just.letterror.com/ltrwiki/PenProtocol (aka "SegmentPen")
> http://just.letterror.com/ltrwiki/PointPen
>
>They're both abstractions for drawing glyphs (characters from a font).
>Sometimes the former is more practical and sometimes the latter. We
>really need both interfaces. Yet they can't be adapted without keeping
>some state in the adapter.
Maybe I'm missing something, but for those interfaces, isn't it okay to
keep the state in the *adapted* object here? In other words, if PointPen
just added some private attributes to store the extra data?
>Implicit adaptations may be dangerous here, but I'm not so sure I care.
>In my particular use case, it will be very rare that people want to do
>
> funcTakingPointPen(segmentPen)
> otherFuncTakingPointPen(segmentPen)
But if the extra state were stored on the segmentPen rather than the
adapter, this would work correctly, wouldn't it? Whereas with it stored in
an adapter, it wouldn't.
More information about the Python-Dev
mailing list