Factories in Python
Troy Melhase
troy at gci.net
Tue Jul 29 16:54:32 EDT 2003
Dave Kuhlman wrote:
> I'd be interested in other reasons for using factories.
My most frequent reason for using factories is to insulate client code from
refering directly to a class name. I find I do this most often when I have
code that's likely to change soon or change frequently. This approach
allows me to leave client code unchanged although the actual class names
and implementations may vary greatly.
Consider:
class MightBeWhatIWant:
pass
class HelperForThat:
pass
def build():
return MightBeWhatIWant()
As the problem is revealed thru elbow grease, this might change:
class ThisIsWhatIReallyNeeded:
pass
class SomethingIMissedEarlier:
pass
def build():
return ThisIsWhatIReallyNeeded()
Granted, these aren't factories in the strictest GoF sense, but I think the
intent is clear.
troy
More information about the Python-list
mailing list