MVC\MVP frameworks for WinForms - winforms

Are there any MVC\MVP alived frameworks for WinForms?
As I understand MVC# is dead.
http://www.mvcsharp.org/

Have you tried WinForms MVP?
From the CodePlex page:
Based on the excellent Web Forms MVP, WinForms MVP is a simple Model
View Presenter framework for the Winforms platform.
This CodeProject article provides an introduction to using the framework.

Related

WPF Prism Entity Framework repository

I am building a WPF application using the PRISM guidance, I want to use the Entity Framework 4 for a data repository.
I have previously developed a Silverlight app, using Prism and WCF RIA Services which worked great as all my components are decoupled.
So what is the best way of getting data in my WPF application in a decoupled way.
Thanks for any advise
You might have a look at the BookLibrary sample application of the WPF Application Framework (WAF). It shows how to use the Entity Framework in a WPF MVVM application. However, it's not PRISM.

which is the best or widely used MVVM Toolkit for WPF?

Could you tell me which is the best MVVM pattern someone have to follow (like Prism). Where can I find hands-on examples to help? Actually, I am little confused which one to follow?
The Wikepedia article about MVVM has a list of frameworks. Here is a selection of some of the frameworks from the list:
Calcium
Caliburn
Cinch
CoreMVVM
MVVM Foundation
MVVM Light Toolkit
WPF Application Framework (WAF)
WPF Model-View-ViewModel Toolkit
Personally, I can recommend Rob Eisenberg's Caliburn. You can see his very educating introduction to MVVM at MIX 2010: Build Your Own MVVM Framework.
A great list of MVVM frameworks can be found at MVVM Framework Explorer.
I don't know what you are exactly mean. MVVM itself is a design pattern. if you mean what are MVVM's best implementations and libraries then some of them are as follow:
WPF MVVM Toolkit: here
Prism
Cinch: here
MVVM Foundation: here
MVVM Light: here
also here you can find a great article about MVVM. I hope these will help you.
MVVM Light and Caliburn are no longer supported, but there is a new player on the market
Microsoft MVVM Toolkit which ist part of the Windows Community Toolkit. It contains the usual support for MVVM and a very fast messaging system.

what's the difference between MVVM and Prism v2

what's the difference between MVVM and prism v2 design pattern to develop SL and WPF applications?
Prism is not a design pattern, but a Library of different components; some of them can help you implementing the MVVM-pattern, for example with Commanding.
Prism is much more than MVVM, it provides a lot of features/base classes out of the box which you will have to implement yourself in your custom MVVM implementation; Prism provides a standard way of solving various problems/scenarios encountered in SL or WPF application (EventAggregator, Navigation framework, commanding etc.).
Prism is more suitable for large-scale applications which will be maintained/evolved for years by a lot of developers.
MVVM is better suited for light-weight applications which needs to be developed once and quickly. Although if you want flexibility you can develop your own MVVM framework or use available ones(like MVVM light etc.).
Also have a look at this question which I had asked about Prism -
Custom MVVM implementation Vs. PRISM

MVC Frameworks for WPF

Are there any MVC frameworks available for WPF other than Caliburn (which looks awesome btw)?
Both Caliburn and PRISM are very nice. However if you go down the path of MVC you will miss out on the powerful 2 way binding. Consider MVVM, it's a very clean and practical approach for WPF. This is the pattern Microsoft used for their expression blend.
There is also Magellan, a port of ASP.NET MVC for WPF.
There is Composite WPF aka PRISM from Microsoft Pattern & Practices.
http://www.codeplex.com/CompositeWPF
one additional possibility is pureMVC (www.puremvc.org)
it seems well-proven, has good short doc/UML, and the project is responsive, and has been ported to .NET - there exists an WPF demo, it will be published soon but you also can contact the project owner about it.
Regards,
Paul
A new MVC framework that works with practically and .net technology (WebForms, WinForms, WPF, Xamarin Forms) is SimpleMVC by Gateway Programming School. This link gives an overview and example usage.
A short example is to create a controller from SimpleControllerBase that has your business logic. This will depend on the SimpleModelBase implementations you provide. Implementations of ISimpleView are handled through WPF pages and controls. The derived controller only works with the interfaces that extend ISimpleView so that the WPF parts are abstracted away. You then use properties on the view to do two-way data-binding, just like MVVM, but with a proper layered architecture.

Can A winform app be switched to a WPF one if MVC architecture is used?

If we develop a winform app using an MVC architecture, it should not be too hard to change over to WPF at a later date, correct?
Well designed WPF application heavily leverage data-binding. As such, you might consider using classes such as ObservableCollection and others and implement IPropertyNotify when designing your model.
Look up some references to the M-V-VM pattern advocated by Microsoft product groups (e.g., Blend) for more information.
It seems that in Codeplex there is an MVC winform open souce fmwk for developping winforms app
That framework is koossery.MVCwin, located on Codeplex at http://koosserymvcwin.codeplex.com

Resources