From: james@... Date: 2002-07-08T06:57:57+09:00 Subject: RE: passing to objects at the bottom > > > no, i think you missed the structure. > > Miter <- Table[] <- Section[] <- Cell[] <- Element[]. > > a couple of people have suggested bringing everything into Top, i > thought about it, but that defeats the whole purpose of OO design. Rather than pass data down through a series of innocent by-standers, simply to have low-level objects create yet-lower-level objects, why not pass the objects themselves, fully formed? el = El.new( a ) cell = Cell.new( el ) sect = Section.new( cell ) table = Table.new( sect ) miter = Miter.new( table) I'm not entirely thrilled with a series of construction expressions, since it seems to bundle too much control logic in one place, but it does avoid having to needlessly expose data to objects. Perhaps this could work in a MiterFacrory class, which accepts general instructions on how to create the Miter and its constituents, returning the fully-formed Miter instance. my_miter = MiterFactory.create( someObjectHoldingEssentialMiterData ) James