Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News PRISM: A WPF Composite UI Framework

PRISM: A WPF Composite UI Framework

This item in japanese


Complex client applications containing lots of graphical interfaces need to be constructed from various component blocks, perhaps developed by separate teams, and assembled together like a giant puzzle. Such an application has what is called a "Composite UI". The building blocks, or the modules, it is made of, are developed separately, and they should work together and should be assembled into one application with as little effort as possible. A solution, a framework, for that purpose is of great help for architects and developers.

Microsoft has created several solutions over time like Composite UI Application Block (CAB):

It provides proven practices to build complex smart client user interfaces based on well known design patterns such as the Composite pattern, in which simple user interface parts can be combined to create complex solutions, but at the same time allowing these parts to be independently developed, tested, and deployed.

Another Microsoft solution is Smart Client Software Factory:

The Smart Client Software Factory provides an integrated set of guidance that assists architects and developers create composite smart client applications.

Other solutions are Mobile Client Software Factory for the Windows Mobile platform, and Web Client Software Factory for the web.

PRISM stands for PResentation Integration SysteM, and it is a project also endorsed by Microsoft specifically targeted at WPF, and hosted on CodePlex. According to Glenn Block, a Technical Product Planner for Microsoft, PRISM offers the following benefits:

    • Provides complete support for WPF
    • Dynamically composes user interface components
    • Application modules are developed, tested and deployed by separate teams
    • Allows incremental adoption
    • Provides an integrated user experience

Right now, PRISM "includes a reference implementation, a reusable library code and pattern guidance", but the plan is to develop a framework which composite applications can be built upon. The latest release was made available on April 15th, 2008 and it was an intermediate in-development one. The current source code depends on Castle Windsor, but the final release won't depend on that.

Rate this Article