The
generated SDO creates a set of interfaces
and set of implementations. If we need to change implementations in
the
future wouldn’t we just keep existing generated interfaces and wrap the
new
implementation code to work with these interfaces. I think I would
wait to
write the code to fit in a new implementation when we have a new
implementation.
If you think the generated interfaces are not correct or not general
enough
lets fix it in the SDO/EMF code.
Glenn Everitt
I would
like to get your
opinions on separation of SDO generated models from our code.
Currently on the client side we need to work with project container.
There are
SDO interfaces generated from XML Schema, which can be used for now,
but adding
and additional layer makes us more independent. So it would look like
this:
module1
|
module2
|
module3
|
...
|
Our separation interfaces
|
SDO generated interfaces
|
Advantages:
- if we
change SDO to any other model (eg. XMLBeans or whatever), we do not
have to change code in moduleX
- we can
provide some convenient methods in our interface (eg.
getRepositoryByKind() )
- if the
model is changed (eg. repositories goes out from container definition)
we can still handle it without changes in moduleX
Disadvantages:
- additional
effort to make adapters (not a big effort)
- possibility
that SDO generated models get out of sync with our separation interfaces
- people
may fill confused with two kinds of interfaces for the same thing
- an
additional layer is always some overhead
Personally I'm for adding the
additional layer. What
is your opinion about it?
Marcin
The contents of this e-mail are intended for the named addressee only.
It
contains information that may be confidential. Unless you are the named
addressee or an authorized designee, you may not copy or use it, or
disclose it
to anyone else. If you received it in error please notify us
immediately and then
destroy it.
The contents of this e-mail are intended for the named addressee only.
It contains information that may be confidential. Unless you are the
named addressee or an authorized designee, you may not copy or use it,
or disclose it to anyone else. If you received it in error please
notify us immediately and then destroy it.