W9 Using Microsoft Prism Loose - Coupling for Application Development


11:00 am - 12:15 pm

Level: Introductory

Prerequisite: None

David Platt

David S. Platt

David S. Platt teaches Programming .NET at Harvard University Extension School and at companies all over the world. His magnum opus, Why Software Sucks (Addison-Wesley, 2007, www.whysoftwaresucks.com), points out ways in which software MUST improve if it’s to accompany humanity into the twenty-first century. He is famous for his engaging presentation style. "He's the only guy I know that can actually make a talk on COM's apartment threading model funny," said one student. Microsoft named him a Software Legend in 2002. He is the author of eleven programming books. His Introducing Microsoft .NET from Microsoft Press introduced thousands of programmers to that environment. Even today, 4 years after its most recent release, it is outselling Tom Clancy's Every Man a Tiger on Amazon.com, which tells you what kind of geeks buy their books there. Dave holds the Master of Engineering degree from Dartmouth College. He did his undergraduate work at Colgate University. When he finishes working, he spends his free time working some more. He wonders whether he should tape down two of his daughter's fingers so she learns how to count in octal. He lives in Ipswich, MA.

This session demonstrates the loose coupling capabilities of Prism and their use in composite applications. A sample program is shown for use in the nurse's station of a hospital. See a demonstration of how Prism’s loose coupling facilitates the loading of different modules. Then, learn how loose coupling easily allows different user interface elements views to be shown based on these roles (patient demographics tab always shown, pharmacy tab only shown when a doctor or nurse is logged in, disposal-of-remains tab shown when mortician is logged in, etc.). We will discuss the MVVM pattern for separating layers of software development. We will demonstrate the use of the Prism loosely coupled event system for sending the "PatientSelected" events to all listeners without needing or wanting to know who those listeners are. In addition, this session addresses the limits of loose coupling; for example, the designers of the smart parts need to have SOME notion of the size and shape of the space in which they are likely to be shown in order to design their user interfaces optimally. We will discuss the out-of-band communication necessary to meet this sort of need. Finally, we will discuss the addition of MEF to the Prism stack.

You will learn:

  • Loose coupling as an application strategy for enabling agile development and testing
  • About Microsoft Prism as a pre-fabricated toolkit that eases the task of developing loosely coupled apps
  • To explore Prism on your own