Last modified on 18 January 2012, at 15:23

Namespaces

Revision as of 15:23, 18 January 2012 by MLA (Talk | contribs)

A namespace is an abstract container or environment created to hold a logical grouping of unique identifiers or symbols (i.e., names). An Identifier defined in a namespace is associated only with that namespace. The same identifier can be independently defined in multiple namespaces. That is, the meaning associated with an identifier defined in one namespace may or may not have the same meaning as the same identifier defined in another namespace. Namespaces are stored on every MetaObject

For example, Bill works for company X and his employee ID is 123. Jane works for company Y and her employee ID is also 123. The reason Bill and Jane can be identified by the same ID number is because they work for different companies. The different companies in this case would symbolize different namespaces. There would be serious confusion if the two people worked for the same company, and still had the same employee ID. For instance, a paycheck issued to employee ID 123 would not identify which person should receive the check.

In large computer programs or documents it is not uncommon to have hundreds or thousands of identifiers. Namespaces provide a mechanism for hiding local identifiers. They provide a means of grouping logically related identifiers into corresponding namespaces, thereby making the system more modular.


Beim Übersetzen der MetaObjekte werden die Namespaces gelesen und an den Standardnamespace („UBIK.Runtime“ bzw. „UBIK.Runtime.UI“) angehängt. In der Baumanzeige werden die Objekte in den Sichten „Inheritance“ und „Content“ gruppiert nach deren Namespace angezeigt. Namespaces für „System“Contentobjekte Jede Systemcontentobjekt besitzt (bzw. kann besitzen) eine Property „NAMESPACE“. Der Wert dieses Properties wird als Namespace für das Objekt übernommen. Ist der Wert leer (oder das Property fehlt), dann wird der Namespace dessen Metaobjektes angezeigt. Objekte können auch eine leere Namespace Eigenschaft besitzen. Die Systemcontentobjekte werden in der Contentanzeige (Baum) gruppiert nach deren Namespace angezeigt. Namespaces für „Standard“Contentobjekte Standardmäßig liefert ein Contentobjekt einen Leerstring als Namespace. Bei Bedarf kann einem Contentobjekt eine Property „NAMESPACE“ verpasst werden. In diesem Fall liefert das Contentobjekt dann den Wert dieses Properties als seinen Namespace. DAVON SOLLTE ABER ABSTAND GENOMMEN WERDEN.