Glossary of Terms
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 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 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 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 this pattern, the presenter is responsible for updating the view.
component. A part of an application that is visual or non-visual, such as services and controls.
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.
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 package. A named collection of recipes, templates, value providers, type editors and converters, and actions, together with a configuration file.
Guidance Automation Toolkit. An extension to Visual Studio 2005 and Visual Studio 2008 that allows architects to author rich, integrated user experiences for reusable assets including frameworks, components, and patterns.
Guidance Automation Extension. A run-time component that must be installed to use the Guidance Automation Toolkit or to use any guidance packages built using the Guidance Automation Toolkit.
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 particular 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 value-gathering strategy 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.