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 :) Many thanks! Carsten --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
