Composite UI Application Block
Encyclopedia
The Composite UI Application Block (or CAB) is an addition to Microsoft
's .NET Framework
for creating complex user interface
s made of loosely coupled components. Developed by Microsoft's patterns
& practices team, CAB is used exclusively for developing Windows Forms
. A derivative version of CAB exists in both the Web Client and Mobile Client Software Factories
as well. It encourages the developer to use either the Model-View-Controller
or Model-View-Presenter
architectural pattern
, to encourage reuse of the individual User Controls (referred to in CAB as "SmartParts") by not coupling them with their underlying data elements or presentation code.
It is part of the foundation of the Smart Client Software Factory, another patterns & practices deliverable. It is also part of the Mobile Client Software Factory which is a version of the Smart Client Software Factory for use with the .NET Compact Framework
2.0.
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
's .NET Framework
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
for creating complex user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
s made of loosely coupled components. Developed by Microsoft's patterns
Design pattern (computer science)
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that...
& practices team, CAB is used exclusively for developing Windows Forms
Windows Forms
Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...
. A derivative version of CAB exists in both the Web Client and Mobile Client Software Factories
Software factory
In software engineering and enterprise software architecture, a software factory is an organizational structure that specializes in producing computer software applications or software components according to specific, externally-defined end-user requirements through an assembly process...
as well. It encourages the developer to use either the Model-View-Controller
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
or Model-View-Presenter
Model View Presenter
Model–view–presenter is a derivative of the model–view–controller software pattern, also used mostly for building user interfaces....
architectural pattern
Architectural pattern (computer science)
An architectural pattern in software is a standard design in the field of software architecture. The concept of a software architectural pattern has a broader scope than the concept of a software design pattern...
, to encourage reuse of the individual User Controls (referred to in CAB as "SmartParts") by not coupling them with their underlying data elements or presentation code.
It is part of the foundation of the Smart Client Software Factory, another patterns & practices deliverable. It is also part of the Mobile Client Software Factory which is a version of the Smart Client Software Factory for use with the .NET Compact Framework
.NET Compact Framework
The Microsoft .NET Compact Framework is a version of the .NET Framework that is designed to run on resource constrained mobile/embedded devices such as personal digital assistants , mobile phones, factory controllers, set-top boxes, etc...
2.0.