Scamper removal

Andreas Raab andreas.raab at gmx.de
Sun Mar 30 01:56:59 UTC 2003


Avi,

> If we're going to keep doing this, we should maybe generalize 
> it further, so that you would have something like
> 
> Service named: #webBrowser
> Service named: #mailReader
> 
> and then the installers could do
> 
> Service registerClass: Scamper as: #webBrowser

Not good. Clients of these web browsers/email readers will expect a certain
protocol and your service gives no hint whatsoever what this protocol is.
I'd actually recommend an abstract class (like Mailer or WebBrowser) which
defines:

* the top-level protocols a client can rely on
* a registry for all of the possible implementations
* a well known default implementation

Anyone who'd want to know what the protocol is can check this out by looking
at these classes, and implementors can provide appropriate implementations
of the protocol (which may not necessarly map to any of its core classes
directly - for example, Celeste might have a Mailer interface which is
partly implemented by Celeste, parly by MailDB and whatever else; yet its
CelesteMailer would be the public interface that's registered with the
Mailer service). A user of the mailer interface would then do something
like:

	Mailer default sendMessage: 'hello world' to: 'squeak at squeak.org'.

Cheers,
  - Andreas



More information about the Squeak-dev mailing list