Sign in
|
Join
|
Help
Search
Dot Net
Syrinx .NET Development Blog
Need help on your project?
info@syrinx.com
, or toll free
(888) 579-7469, press 1
Home
Contact
RSS
Atom
Comments RSS
Recent Posts
Working with Oracle Virtual Directory using LDAP and Microsoft's System.DirectoryServices.Protocols library
Overview of the ADO.Net Entity Framework
Fun with System.Xml.Linq.XDocument
How to be in two places at the same time - Asynchronous method calls
How to use the Client Script Manager
News
Need help with your .NET Development project?
Syrinx works with clients throughout New England to architect, design, develop, and deploy .NET Applications. Working on fully outsourced projects, as part of your team, helping to train your team, or rescuing projects in trouble, we are comfortable doing it all. Projects from a couple weeks to several months in duration, reference clients available. Contact us today -
info@syrinx.com
, or toll free
(888) 579-7469 and press 1
to speak to someone now!
Tags
.Net
.NET 2.0 "Social Networking" venture backed client startup "Open Source"
.Net Generics Collections
.Net Generics Collections anonymous methods
.NET Java percent market share
.Net Providers asp.net
AJAX
App.config
ASP.NET Data Source GridView SQL NULL
Asynchronous
BeginInvoke
C#
ClientScriptManager
client-side
Code Generator
Design
Design By Contract
EndInvoke
Enumerators
Flags
IAsynchResult
IIS7
javascript
RAD
Rapid Application Development
SMO
SQL Server Management Objects
System.Xml.Linq
TFS
Visual Studio 2008
VS2010
VSTS
WCF
Web Service
WPF
XDocument
XmlDocument
Navigation
Home
Blogs
Archives
March 2010 (1)
February 2010 (1)
February 2009 (2)
January 2009 (1)
December 2008 (5)
November 2008 (2)
July 2008 (1)
May 2008 (2)
April 2008 (5)
March 2008 (2)
February 2008 (3)
January 2008 (4)
December 2007 (4)
November 2007 (2)
CAB - Composite Application Block
I recently had a chance to work on a project for a client using CAB, which stands for Microsoft’s Composite Application Block. The framework offers quite a few nice features that help with creating applications that are complex and big. But the biggest culprit that I see with it is that it may be a little on the high learning curve side. Once you get your hands on the included samples and start coding it things will get better and start ticking.
CAB introduces the workitem, smartpart and workspace classes, these are classes that are mainly used for UI management. SmartParts are just your view/userontrol wrapped in a fancy CAB terminology. However the CAB framework encourages the use of the MVP pattern (Model View Presenter). Which I think is a plus, since it makes unit testing easier in addition to the better code abstraction that it provides. Btw, I do not think MVP is a fancy name for code behind as some others might think it is, but that is something I want to talk about at another time. Next is the workspace, which is a usercontrol that is used as a placeholder within the form, so that we can put smartparts in it. Workspaces provide functionality to interchange smartparts, provide them in a tabbed style or dock them in a certain fashion. Then we have the workitem, its main responsibility is to manage a use case which is an important concept in CAB. In CAB business requirements are broken down into use cases which are implemented as workitems. In addition, it is also responsible for the creation and management of smartparts which are used to carry out the use case requirements.
Another important CAB concept is the event broker, the event broker allows objects such as the workitem and smartpart to communicate without any direct references. As a result assemblies will not have referential constraints like other some other designs. Which can ease development efforts since we can have multiple teams working on different sections (use cases) of the application. There are a few other CAB features that I did not get a chance to fully utilize since the project that I worked on did not require it, such as the state injection and command features. For more info on CAB I suggest visiting the CAB website on CodePlex at
http://www.codeplex.com/smartclient
, it contains a forum with a good community of developers sharing there knowledge and experience on this wonderful framework.
GaryY
Posted:
Feb 12 2008, 11:12 AM
by
GaryY
| with
no comments
Comments
No Comments