Peter Donald wrote:
>
> At 12:40 12/4/01 -0400, Berin Loritsch wrote:
> >> interface Executable {
> >> void start() throws StartException;
> >> void stop() throws StopException;
> >> }
> >>
> >> interface Interruptable extends Executable {
> >> void suspend() throws SuspendException;
> >> void resume() throws ResumeException;
> >> }
>
> Looks good to me but how about we do it via
>
> interface Executable extends Startable, Stoppable {}
> interface Interruptable extends Suspendable, Resumable, Executable {}
>
> This would leave the issue more open for people who have done it that way
> in past.
I think you missed the whole analysis I presented on why I came
up with this approach in the first place. You are always telling
us to prove it to you why we think something, now I am asking that
of you. In what circumstance would something be Startable but
not Stoppable? A _real_ use case. Also, I want to know why you
think it would have to be Startable without being Stoppable instead
of using the Command pattern I proposed.
Please, I am really curious to know where you are coming from. I
have wracked my brains trying to come up with a plausible scenario.
In a centrally managed environment, not being able to stop a renegade
process because it doesn't implement Stoppable is unnacceptable.
Every Executable component needs to start and stop itself in a sane
manner. It is CRITICAL if we are employing mission critical
quality servers.
We need to enforce QoS (Quality of Service) by design just as UNIX
inforces security by design. It does not mean that we automatically
have QoS, but we have the framework to require it.
I think that separating the Startable, Stoppable, Suspendable, Resumable
interfaces like they are now is simply "feature" bloat. Worse, it is
the type of feature bloat that will introduce undocumented "features"
that are almost impossible to track down in a complex system.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]