Non Functional Req: Several parts of the program should be hot swapable


The application implemented using dependency injection can be designed to utalize the MEF framework to act as a bootrapper for the IOC container.
This way several parts of the program can be designed to be interchangeable during runtime, making these parts of the program 'hot swapable'
Parts that lend themselves:
  • Part that fetches contacts from AD (Can be implemented to use a different source, some webservice for instance)
  • AddIn part that is specifically written for Outlook 2010 (Can be implemented to work in an older, or newer instance of Outlook)
  • UI part specifically written utalizing a specific UI framework (Can for instance be implemented in using WPF, Winforms, Silverlight)