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 Smart Client Software Factory and its accompanying documentation.

Application Architectural Elements

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

shell. A container application that hosts user interface elements and services; it also manages the bootstrap process.

Shell Elements

shell application. A container application that hosts user interface elements and services; it also manages the bootstrap process.

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

workspace. A component that encapsulates a particular visual layout of controls, such as within tabbed pages.


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

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

Programming Model

component. A part of an application that is visual or non-visual, such as controls and services.

container. A class that contains components and services.

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

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

Guidance Packages

action. An atomic unit of work called in a defined sequence by recipes. The sequence is specified in the recipe definition. An action accepts input either from arguments that have been gathered by the calling recipes or from output received from an action run earlier in the sequence. Recipe actions are specified in the recipe definition.

Guidance Automation Extension. A run-time component that must be installed to use the Guidance Automation Toolkit or to use any guidance packages built with the Guidance Automation Toolkit.

Guidance Automation Toolkit.An extension to Visual Studio 2010 that allows architects to create rich, integrated user experiences for reusable assets, including frameworks, components, and patterns. Versions are also available for Visual Studio 2005 and Visual Studio 2008.

guidance package. A named collection of recipes, templates, value providers, type editors and converters, and actions, together with a configuration file.

recipe.A user-defined and executable sequence of actions that automates activities that developers would usually perform manually, often by following a series of instructions. You can use recipes to ensure that repetitive and often error-prone activities are performed in a consistent manner and to simplify complex or repetitive development tasks. Recipes can be run on specific solution elements or on a group of solution elements that share certain characteristics (for example, all C# projects).

Visual Studio template. A template written in XML and used by Visual Studio to create solutions or add one or more projects or items to an existing solution. The templates are expanded by the Visual Studio template engine. Using the Guidance Automation Toolkit, you can associate Visual Studio templates with recipes. This association means that when a template is unfolded, the wizard extension calls the recipe to let it collect parameter values (arguments) for the expansion and then, after the template is unfolded, to execute actions that may further transform solution items created by the template.

wizard. A mechanism used to gather values from recipe arguments. Any recipe can have a wizard associated with it. A wizard guides the developer through one or more steps, which are displayed as pages of the wizard.