Thursday, May 17, 2007

Design of modularty

The Composite UI Application Block promotes modularity by allowing you to implement business logic, visual SmartParts, infrastructure components, presenter or controller components, and any other objects the application requires, in separate modules. It then facilitates integration of these components in the following ways:

  • It allows different components to affect the shared shell by placing SmartParts into workspaces and other controls into UI extension sites.
  • It allows components to publish and subscribe to events without having to know about each other.
  • It allows components to share state and information by placing it into the State property of the WorkItem.
  • It simplifies the way that business logic components and SmartParts acquire infrastructure services, making them easier to replace or configure without affecting the business logic.
  • It encapsulates individual use cases into separate WorkItem components that other developers can use without exposure to the implementation of that WorkItem.
  • It allows you to extend the behavior of existing WorkItems without changing their code by using WorkItemExtensions.
  • It allows you to specify your own attributes and logic to process objects as they are created, by extending the underlying ObjectBuilder framework with custom strategies.

No comments: