[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