Elwin Estle wrote:
--- On Wed, 1/26/11, Alan Gauld <alan.ga...@btinternet.com> wrote:
From: Alan Gauld <alan.ga...@btinternet.com>
Subject: Re: [Tutor] class question
To: tutor@python.org
Date: Wednesday, January 26, 2011, 1:10 PM
Is this really a series of different types of casting or a single Workpiece
going through a sequence of Actions
each Action having a set of quality data associated?
If so it may be that you have a single Workpiece class and a relatively small
heirarchy of Actions.
No, there are multiple castings, anywhere from smallish parts you can hold in
the palm of your hand, up to engine blocks weighing nearly 2 tons.
Then each such casting has its own set of actions and chain of classes.
There is a process that goes from egg to chick to hen to KFC Chicken
Nuggets, but you wouldn't write a single class to model all of those
things. You would write a separate class for each distinct stage of the
process, and write a process that replaces each data item with the next
one in the series.
I think you are focused too heavily on the fact that it's the same lump
of metal all the way through the pipeline. That's the least important
part of the design -- you can do that with a simple record:
class Lump:
def __init__(self, id, kind):
self.id = id
self.obj = kind()
lumps = [
Lump(1, EngineBlockCasting),
Lump(2, EngineBlockCasting),
Lump(3, WidgetCasting),
Lump(4, MiniCasting),
... ]
and then later on:
lumps[1].obj = EngineBlockWithHolesDrilled()
Although of course you will write functions or methods to move from one
class to another, e.g. drill_holes(lumps, 1), rather than do it all by hand.
--
Steven
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor