[squeak-dev] Re: Gofer versus Installer
Andreas Raab
andreas.raab at gmx.de
Wed Dec 15 17:54:08 UTC 2010
On 12/15/2010 9:21 AM, Chris Muller wrote:
> One question that came to my mind last night: What does> 1000 lines
> of Gofer code bring to Monticello-loading that I can't already do with
> just Monticello? or with a couple of facade methods added to plain
> MC?
I spent the evening yesterday to look at Gofer in detail and it is what
led me to say that Gofer is really an API to Monticello, not an
installer. First, there is nothing in there that should not be part of
Monticello proper; contrary to Installer and Metacello I would expect
all the stuff that is in Gofer to be readily available in Monticello
itself. Gofer is simply a good facade to Monticello with a useful API.
Secondly, much of the code in Gofer comes from the "command pattern gone
wild" problem. Gofer simply overuses the command pattern. Every
operation is wrapped in a separate class without any need for doing so.
As a consequence, things that should be a simple "self foo" become
unnecessarily complex in creation, setup, and execution. If you would
take this out, it would reduce Gofer to 5 classes or so and the total
code size by a significant amount while improving clarity.
As an API to Monticello, Gofer is very nice and we should standardize on
it. But as a "replacement" for Installer it's not even in the same ballpark.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|