Multiuse Model View
||The topic of this article may not meet Wikipedia's general notability guideline. (December 2009)|
The Multiuse-Model View (MMV) is an architectural pattern used in software engineering that came about as an enhancement to the MVVM design pattern. The pattern is specific for Windows Presentation Foundation (WPF) and Windows Communication Foundation (WCF) applications. While keeping the logical separation of user interface (View) versus logic (Model), MMV's primary objective is to address the shortcomings of the MVVM pattern. The Multiuse-Model of MMV typically relies on reflection to facilitate object building in order to easily integrate logic-centric object models with view-centric object models minimizing the amount of duplicate code. MMV was designed to make use of specific functions in C#, WPF and WCF to better facilitate the reuse of code between the server and the client.
The Multiuse-Model View pattern attempts to leverage the advantages of separation of logic as well as the advantages of XAML and the Windows Presentation Foundation just like MVVM does, however, it also attempts to deal with most of the disadvantages of MVVM including promoting a more object oriented class design, reducing the amount of duplicate code required, simplifying maintenance and reducing the amount of metadata generated. To accomplish this MMV relies on a set of base classes which provide generic functionality for sending data from/to the client and displaying data on the UI.