Hi B34
Thanks for the question again. See my inline answer ...
Ke
On Dec 25, 10:28 am,
liu...@gmail.com wrote:
> Yes, you are right, I was think of the first case, but as you said, it
> requires the component follow
> some addition rules and those component will not b a 'plain object'
> any more.(like COM).
>
> I in turn think of the second case, it is an ideal case like you said.
> as I understand, BizTalk and other WebService technologies try to
> solve this case in different way, but how about apply IoC pattern to
> this case? I think it is the IoC pattern in higher level. why do you
> think it is not necessary?
>
IoC is definitly applicable to almost all language environments.
However, what I said was that deployment description schemas for IoC
frameworks in different environments are not necessary to be the same.
The reason is these schemas describe wiring/configurations of low
level programming objects (POCO or POJO). Therefore, to be able to
cover needed features for each specific environment, they have to
contain language specific structures. For instance, the method
argument pass syntax (pointer, reference/value, whether duplicate
before passing and whether release after return etc.. in C++),
additional life-cycle control attributes and rules in C++, etc.. All
of these additonal structures in C++ are not necessary in Java
environment. Class signatures in C++ are different from Java as well.
However, a schema at domain level (see domain specific modeling
discussion in PocoCapsule) can certainly be language independent. The
higher this DSM (domain specific modeling) schema, the less it would
depend on language specific structures listed previous. Users only
need to design schema transform stylesheets that map the language
independent DSM schema into core schemas for IoC framework engines of
different language environments. For instance, in PocoCapsule/CORBA,
the corba-application-context is a schema much less depending on
component programming languages. This schema is able to be mapped to
either PocoCapsule/C++ core schema or Spring Framework schema for C++
or Java environment via two XSLT transform stylesheets.
Hope this clarifies
Ke