ice.NET Key Concepts: Packages

Packages are containers for model items (types). They are used to organize these items in a modular way.

  • Every Packages is identified by its Packages ID. The ID does not change and exists until the Packages is deleted. The ID is unique within the scope of the current system context (i.e. normally within a database or an XML document).
  • Furthermore, every Packages is identified by its Packages name. This name has to be choosen by the developer who creates the Packages and should reflect the semantics of the Packages. The Packages name has to be unique. The character set of Packages names is limited to the capability of the XML QName specification in order to support programming concepts like XML Schema or code generators.
  • Every Packages has a display name and a description. The Packages is used for UI and other visualization purposes and provides the possibility to assign a user-friendly name to the Packages. The display name does not have to be unique (though it is recommended to ensure uniqueness within a reasonable scope). It can contain any unicode characters (e.g. umlauts or scandinavian special characters).
  • Packages can depend on other packages. This package dependency can be explicitly declared and the package content can be checked against this declaration. It is important that cyclic package dependencies are avoided.