Wednesday, February 06, 2008

Interactive Application Architecture Patterns (MVC, MVP, PAC)

I just came across this article by Derek Greer that discusses the three similar interactive application architecture patterns: the Model-View-Controller, Model-View-Presenter and Presentation-Abstraction-Control pattern. If you are interested to learn this patterns and understand their differences, this article is highly recommended for you.

The author also mentions the Microsoft Patterns & Practices Patterns MVP and MVP w/ Application Controller, which are used in the Web Client Software Factory (WCSF).

I am currently using WCSF, and I am not sure if I should use MVP with or without Application Controller. Martin Fowler describes in his P of EAA book that there is little value in using an Application Controller if the flow and navigation of your application is pretty simple so that anyone can visit any screen in pretty much any order. He also mentions that the strength of an Application Controller comes from definite rules about the order in which pages should be visited and different views depending on the state of objects.