large applications to smaller modules Targets is WPF ,Silverlight and windows phone Built on some design patterns Like ??? Built on separation of concern and loose coupling
MefBootstrapper Initialize shell ConfigureAggregateCatalog Add regions to shell Create hello world module using MVVM and MEF and inject view to the shell region Inject module to AggregateCatalog
items regions We can create our custom region To do that I have to derive from RegionAdapterBase<T> Implement CreateRegion method Single Active region All Active region Region Implement Adpat method Register to bootstrapper
broadcast that a certain event has occurred. Other modules can subscribe to those events so they will be notified when the event occurs. Loosely coupled events are a lightweight manner of setting up communication between two modules; therefore, they are easily implemented. However, a design that relies too heavily on events can become hard to maintain, especially if many events have to be orchestrated together to fulfill a single task. In that case, it might be better to consider a shared service. Shared services. A shared service is a class that can be accessed through a common interface. Typically, shared services are found in a shared assembly and provide system-wide services, such as authentication, logging, or configuration. Shared resources. If you do not want modules to directly communicate with each other, you can also have them communicate indirectly through a shared resource, such as a database or a set of web services.