>Chris, how about sending me a URL for a complete patch?

(If nothing else, read the last two paragraphs...)

I've been looking at the code in order to make the patch; but I've 
come across some items that I think I should bring up...

Basically, some of the 'Assemblers' treat the 'build' method in one 
of two ways:

1 - construct the page and return it as a concrete element
2 - store the page into the document created when 'RunData.getPage' is invoked

Examples of assemblers that follow this model are 'Screen' and 
'Navigation' and probably others.

Other Assemblers treat build only in the second way:

- store the page into the document created when 'RunData.getPage' is invoked

Examples of assemblers following this model are 'Page' and 'Layout'.

I think this multi-technique facet of 'build' will lead to problems 
in the future. Since RunData is an object that is passed around to 
lots of things throughout the code, one can almost treat it as a 
global variable and I tend to think that storing data into that 
object will lead to maintenance problems down the road. I would think 
the better technique would be to always return a Concrete object. If 
one wanted to chain together multiple objects one could always create 
a 'MultiScreen' class to do that...

Is the multiple definitions of 'build' intentional or a result of 
migrating code? Is anyone else concerned about this? Is anyone not 
concerned? Should we try to do something to clear up the definition a 
bit?

Along the same lines, the RunData.getPage() method worries me a 
little. It has a non-trivial side-effect which is to create a page 
and mark the RunData as 'having a page' in the variable 'isPageSet'. 
Usually 'get' methods don't have side effects within the class... 
Does anyone else know more about this than me?

Is anyone else worried about stuff like this? As a new, serious user 
of Turbine, items like this concern me. Is this the type of stuff 
that is still useful to discuss in this project or have these 
decisions already been hashed out? I would like to work on Turbine 
and make it an industrial strength framework that professional sites 
use out of the box. Towards that end, it seems to me that discussions 
like this need to take place... Any opinions?

Any responses would be greatly appreciated as it will allow me to 
focus my efforts in the appropriate places...

Chris


------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to