Thorsten Scherler wrote:
El vie, 07-04-2006 a las 13:30 +0200, Andreas Hartmann escribió:
Thorsten Scherler wrote:
El jue, 06-04-2006 a las 17:40 +0200, Andreas Hartmann escribió:
Hi Lenya devs,
currently, it's not clear which classes+interfaces form
the Lenya API (i.e., have to stay backwards compatible
and therefore may be used by client code).
Examples are AbstractUsecase and DocumentUsecase:
Can you extend these classes without the danger of
incompatible changes in future 1.4.x versions?
I am unsure what to tell you. We have a couple of usecases that extend
this classes. IMO this default implementations should reflect the least
common denominator
+1
and as soon as 1.4.x is in the release cycle they
*should* be backwards compatible.
IMO AbstractUsecase and DocumentUsecase are general enough
to put them into the API.
agreed, but we still would need an implementation right?
Hmmm, what do you mean? They are abstract implementations
of the Usecase interface ...
The question is really where to draw the line.
IMO some requirements for classes/interfaces in the API are
- it is generic, i.e. it fits all usage patterns
(nothing like "This only works in certain circumstances ...")
- it can be guaranteed to work in future versions (e.g.,
it doesn't use internal classes of other products in
its signature)
- it doesn't reference any classes/interfaces which are
not part of the API (completeness of the API is required)
Indicators when to put an implementation in the API are:
- it reflects a best practise
- there's no other (sensible) way to do it
- it would be very hard to implement it in the client code
- it's a mere utility to simplify the usage of components
WDYT? What other criteria do apply?
-- Andreas
--
Andreas Hartmann
Wyona Inc. - Open Source Content Management - Apache Lenya
http://www.wyona.com http://lenya.apache.org
[EMAIL PROTECTED] [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]