On Fri, Feb 17, 2012 at 4:23 AM, Edward K. Ream <[email protected]> wrote:
> The simple rule for each ctor then becomes:
Each ctor creates all the objects it needs.
This is leading to an important collapse in complexity. The
separation of a "safe" part (the ctor) from the "difficult" part (the
finishCreate method) is a great organizing principle.
In particular, the infamous g.app.newLeoCommanderAndFrame is going to
disappear, to be replaced by the Commands ctor. This will remove a
truly bad part of Leo's code.
> Phase 4 calls all finishCreate methods.
My first thought was indeed naive, but there is a simple way: Phase 4
will just call c.finishCreate. This is simple and good: if the
Commander doesn't know how to init itself, nothing else could either.
So c.finishCreate will handle *all* details of the difficult part of
initing. This is *almost* what happens now, but at present
newLeoCommanderAndFrame does some finishCreate work too. Unifying the
finishCreate phase will be another collapse in complexity.
This new scheme is so simple that there is no need to involve the
LoadManager class, another excellent simplification. Thus, the
LoadManager class simply inits command-line options and user options
contained in @settings nodes.
Finally, this work is valuable regardless of the g.news_config
setting. I'll be upping intermediate results periodically today.
Edward
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/leo-editor?hl=en.