Share via


Glossary of Terms

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
To create client business applications using current Microsoft technologies, see patterns & practices' Prism.

This section describes the terms that are used in the Composite UI Application Block and its accompanying documentation.

Application Architectural Elements

CAB. The acronym for the Composite UI Application Block.

module. A part of an application that contains SmartParts, support services, business logic, and configuration information.

ObjectBuilder. The underlying system for creating object instances, according to strategies and configuration information you provide.

shell. A container application that hosts user interface elements, SmartParts, and services and manages the bootstrap process.

visualizer. A utility built into the CAB that allows you to see a dynamic hierarchical view of WorkItems within an application.

Shell Elements

shell application. A container application that hosts user interface elements, SmartParts, and services and manages the bootstrap process.

SmartPart. A view of data (in the MVC pattern) such as a control, a Windows Form, or a wizard page.

SmartPartInfo. A piece of information about a SmartPart that a workspace can use, such as the title of the SmartPart.

UIElement. A control that is hosted in the shell and shared between multiple modules, such as a toolbar button, menu item, or status panel.

UIElement adapter. A class that manages the display of a specific type of UIElement.

workspace. The components that encapsulate a particular visual layout of controls and SmartParts, such as within tabbed pages.

Patterns

Application Controller. A pattern that manages the flow of logic in a use case by enforcing control flow, separating control and presentation logic, providing state management capabilities, and relating views to specific controller classes.

Blackboard. A pattern that provides a shared location where multiple worker components can get and set state and information.

Builder/Inversion of Control/Dependency Injection. A set of patterns that enable reuse and loose coupling of components through the injection of component dependencies at run time.

Event Broker. A pattern that enables loosely coupled components to communicate using a publish and subscribe system.

Memento. A pattern that persists the internal state of an object so that the object can be restored to its state at a later time.

Model-View-Controller(MVC). A pattern that separates the modeling of the domain, the presentation, and the actions based on user input into three separate classes. The view passes user interactions to the controller, which updates the data model. The data model exposes events that update the view.

Model-View-Presenter(MVP). A pattern that, like MVC, separates the modeling of the domain, the presentation, and the actions based on user input into three separate classes. Again, the view passes user interactions to the presenter, which updates the data model. However, in this case, the presenter is responsible for updating the view.

Programming Model

component. Visual and non-visual parts of an application, such as SmartParts, services, and controls.

container. A class that contains components and services.

event broker. A system that supports a loosely-coupled publish and subscribe event mechanism.

State. A key-value dictionary of information describing the current data in a WorkItem.

Service. A supporting class that provides functionality to other components in a loosely coupled way, for example, the ModuleLoaderService.

WorkItem. A run-time container of the components and services that are collaborating to fulfill a use case.

Roles

infrastructure developer. A developer who is responsible for creating infrastructure services that will plug into an application.

module developer. A developer who is responsible for creating business logic components that will plug into an application.

shell developer. A developer who is responsible for creating the shell of an application.

SmartPartdeveloper. A developer who is responsible for creating SmartParts that will plug into an application.