Simon Kitching wrote:

[snip]
> So the rule would be:
> * the project provides both an interface and an abstract class that
> implements that interface.
> * code that *uses* the API should always use just the interface, ie
> *call* methods via the interface and pass instances around as the
> interface type
> * code that *implements* the API should always subclass the base class.
> 
> The project reserves the right to add methods to the interface, but will
> always provide a concrete default implementation on the abstract
> subclass. Methods will *not* be added to the interface if a sensible
> default implementation cannot be provided.
> 
> That sounds like a pretty good approach to me; seems to ensure maximum
> backward compatibility while keeping a clean interface-based API (which
> allows interface-based proxies to be generated at runtime).
> 
> I would agree with Jörg here, that as long as release-notes document
> expected clirr incompatibilities there is no problem. Clirr can of
> course be configured to ignore specific classes when processing...

Exactly ... it's always nice to get a clean summary by a native speaker :)

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to