Raymond Feng wrote:
Hi,
Here's my vote.
[X] +1 we should do this
[ ] -1 keep things as they are
The vote is based on my understanding of the benefits of
interface-based models as follows.
1) Better pluggability for the model implementation and loading: We
can easily generate the model and loading code using Java/XML binding
frameworks such as JAXB, SDO and XMLBeans.
2) Better relationship between model objects: One java class can
implement multiple interfaces, for example, we can use "Extensible"
interface to represent the SCDL extensibilities and "Promotable" to
represent models eligible for promotion.
3) Better isolation for dependencies: Other modules only have to
depend on the model interfaces for compilation. We don't have to
release the model interfaces if we just have to fix issues in the
implementation classes without breaking the contract.
4) Simpler interface-based mocking for unit tests
5) Other projects use interface-based modeling such as Axiom, DOM,
WSDL4J and Woden
Thanks,
Raymond
----- Original Message ----- From: "Jeremy Boynes" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, March 20, 2007 7:23 AM
Subject: [VOTE] Rewrite kernel model to be based on interfaces
The current model is based on simple POJOs. Sebastien has proposed
rewriting the configuration model to be based on interfaces with
separate implementation and factory classes. This will have a major
impact on the kernel code and all extensions. This vote is not about
what is in the model, it's is about how the model itself is implemented.
[ ] +1 we should do this
[ ] -1 keep things as they are
If I was going to vote I would probably vote +1 since I'm doing this
work :) but I'm not ready to vote on it yet, as I'm not sure why a vote
thread popped up so quickly, independent of the thread I started
yesterday to get input from our community and have a technical
discussion on the subject:
http://www.mail-archive.com/[email protected]/msg15725.html
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]