This project is read-only.

Modularity Bundle

Cannot resolve release macro, invalid id.
Click here to see the documentation.

What's the value of this guidance?

  • Provides guidance on how to develop composite Web applications through the use of modules
  • Provides guidance on how to independently develop and deploy loosely coupled modules
  • Provide guidance on how to allow teams to independently develop each of the individual business logic and infrastructure components.
  • Describes the how the Composite Web Application Block uses the Inversion of Control, Dependency Injection, and Service Locator patterns to enable loosely coupled modules

What is the concept?

Modularity is the separation of an application in independent and collaborative modules. You use modules to encapsulate a set of concerns of your application and independently develop and deploy them to your applications. These modules are developed and maintained by multiple teams.


A Web client application that uses the Composite pattern generally involves a shell module, which provides the overall user interface structure. A shell module typically registers user interface components shared by other modules, contains global pages and one or more ASP.NET master pages that module developers can use to create a consistent layout for pages.
Modules contain functionally discrete pieces, but they integrate with the user interface and communicate with each other. The shell module provides access to services required by other modules throughout the application. This means that the modules can use these capabilities instead of having to implement them themselves.

This approach provides a number of advantages in terms of a separation of roles between the developers of the modules and the solution designer/builder. Module developers are typically focused on implementing the business logic required to provide specific business focused functionality (for example, providing access to the inventory, CRM, ERP, and HR systems). The solution designers are able to define a solution to a business problem at a level that is higher and more broadly focused (for example, providing a call center solution, a bank teller solution, or a document collaboration solution).

What are some scenarios to consider using Modularity Bundle?

  • Separating the development of business logic from infrastructure logic
  • Separating the development and deployment of application code by teams or department
  • Creating a Composite Web page which display and captures transactional data from multiple backend databases

What kind of web solutions is this guidance appropriate for?

  • ASP.NET 2.0 solutions using the Composite Web Application Block

Who should use this bundle?

  • This bundle is for Developers and Architects who are interested in improving the testability of the user interface.

What is in the bundle?

Modularity QuickStart: Source code to demonstrate how to implement the Composite pattern
Library: Contains the binaries from Enterprise Library and the Web Client Software Factory required to run the QuickStart.
Acceptance Tests: Automate tests that can be executed to walk you through the Modularity functionality.
Unit Tests: Automated unit tests in Visual Studio.
Documentation: Documentation explaining the Modularity Quickstart, and the associated patterns.

What needs to be installed?

.NET Framework 3.5 Bundle

  • Microsoft Visual Studio 2008 (Professional or Team System to run the unit test) / .NET Framework 3.5
  • Microsoft ASP.NET 3.5

.NET Framework 2.0 Bundle

  • Microsoft Visual Studio 2005 (Team Suite or Team Edition to run the unit test) / .NET Framework 2.0
  • Microsoft ASP.NET 2.0


  1. Install all prerequisites for the bundle.
  2. Execute the bundle installer.
  3. Read and accept the EULA.
  4. Specify the destination folder.

Known issues

Click here to be taken to the list of known issues

Last edited Jun 17, 2008 at 9:15 PM by jonathan, version 10


No comments yet.