Stephen McConnell wrote:
Carsten Ziegeler wrote:
Stephen McConnell wrote:
From the front page:
The Avalon Meta Model defines the functional structure of component types and services. A Type definition contains information about deployment and runtime dependencies together with information about the services that a component type can provide.
The following page describes the XML schema used to define a Type instance - http://avalon.apache.org/meta/meta/info/type/index.html
This is paralleled in the API documentation for the immutable Type class (org.apache.avalon.meta.info.Type). Keep in mind
that the Type
is simply an immutable class that exposes all of the descriptive features of a component (that's it).
Ok. So by defining a type I don't "create" a component, which means if I only define a type, I can't lookup up something?
Not directly.
A Type is a description of a component implementation.
Ok, yes sorry that was my latest understanding as well :) Ok, so type as a term makes sense. Perhaps the docs should simply contain your sentence above as the first sentence, so readers immediately see what a type is before they read the longer and more detailed version.
Based on information accessible from an instance of Type you know all about the structural and runtime dependencies that a instance of a corresponding component class will require.
Ok.
Now, we could argue about the correct terms for months but the term "type" is imho misleading here. If a type exposes all features of a component why is it called a type and not component?
What is a component?
Here is my view.
A component is a reusable computation unit that provides zero or more functional services.
Agreed.
This implies that a component is more than a class or collection of classes. It is computational unit that can be deployed predictably in different application scenarios and environments.
Yes.
To achieve this you can break down "component" into:
* a component *type* description
Containing the provided services.
* an *implementation* of the type * a deployment *profile*
Collectively these different aspect are brought together by a container through the process of "instantiating a component".
Ok, now I'm on track :) I will post my other questions about meta soon :)
Great!
I'll try and craft together a better introductory paragraph that captures these point more clearly.
Cheers, Steve.
Many thanks!
Carsten
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--
|------------------------------------------------| | Magic by Merlin | | Production by Avalon | | | | http://avalon.apache.org/merlin | | http://dpml.net/merlin/distributions/latest | |------------------------------------------------|
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
