Carsten Ziegeler wrote:

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]



Reply via email to