lenya-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Hartmann <andr...@apache.org>
Subject [1.4] Separate API and Implementation?
Date Thu, 06 Apr 2006 15:40:48 GMT
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 like the approach taken by Avalon/Excalibur:

- framework/api/src/java
- framework/api/src/test
- framework/impl/src/java
- framework/impl/src/test

For example: AbstractLogEnabled is part of the API,
AbstractConfiguration is not. A disadvantage of this
approach is that you can't tell whether a class is
part of the API without knowing where it is located
in the source tree. Maybe we can solve this using
package names which contain "impl":

o.a.lenya.cms.usecase.*
o.a.lenya.cms.usecase.impl.*


Modules are another story, but maybe the same concept
can be applied there.


WDYT?

-- Andreas


-- 
Andreas Hartmann
Wyona Inc.  -   Open Source Content Management   -   Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
andreas.hartmann@wyona.com                     andreas@apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Mime
View raw message