[grand-rapids-pm-list] Model View Presenter

Jason Porritt jasonmtu at yahoo.com
Wed Jul 11 11:53:54 PDT 2007


Thanks for the follow-up, Carlus.  Atomic Object's Presenter First pattern is indeed very interesting, and I kind of wish we had jumped into that during the MVP discussion but we probably would have run out of time for the Perl testing section.  Here are a few other links related to the meeting I meant to share with the group at the end:

UI Design Patterns (Martin Fowler)
    GUI Architectures
    Inversion of Control Containers and the Dependency Injection pattern

Perl Testing
    Test::More
    Test::MockObject

And to answer one of Carlus' other questions about IoC (Inversion of Control) containers for perl I did find two that look interesting:
    IOC
    Peco::Container

My initial impression is that Peco::Container is a bit simpler than IOC.  I haven't used either of them yet so I don't have much but the documentation to base that on.  Neither of them do anything other than IoC, so a fair comparison may be between these two and Java's PicoContainer instead of Spring which is a full application framework in addition to an IoC container.

Thanks,
Jason Porritt

----- Original Message ----
From: Carlus Henry <carlushenry at sagetech-llc.com>
To: grand-rapids-pm-list at pm.org
Sent: Thursday, July 5, 2007 8:48:30 AM
Subject: [grand-rapids-pm-list] Model View Presenter

For those of you that did not come to the last Perl User Group meeting, you missed a great presentation which prompted a wonderful discussion on the Model-View-Presenter Pattern (MVP).  Primarily being a J2EE developer and with many years of experience with the Struts Framework, I am very familiar with the Model-View-Controller (MVC).  I was very interested, however, in this MVP pattern.  This is mostly due to the thick client application development that I have been doing lately.


During the meeting, a lot of questions were raised regarding this pattern, and Jason Porrit was very patient with all of us (touche').  After the meeting, I decided to do a little more investigation, and found the following:


Martin Fowler Retires Model View Presenter Pattern

Yes.  Believe it or not, this 
pattern has been retired
 by Martin Fowler.  Well, I don't know if retired is the correct 'r'-word.  Maybe it should say 'R'efactored instead.  He has split up the pattern into the 

Supervising Controller and the Passive View.  After reading both of the patterns, they sound very similar in detail and in practice.  In the Passive View you put all of the widget population logic into the Presenter.  All logic is pushed on the Presenter including the population of text fields or any other widgets available on the View.  In the Supervising Controller, you push most of the logic onto the Presenter, but leave some of the logic of populating widgets in the View.  Martin states:


"...the essence of a good Supervising Controller is to do as
		little as possible. Let the view handle as much as possible and
		only step in when there's more complex logic involved."

Atomic Object Presenter First
On a related note, 
Atomic Object also has their own variation of the MVP Design pattern called Presenter First (PF).  After reading an article from Better Software magazine (referenced from their 
PF resources), I find this design pattern very attractive as well.  What most attracts me is the concept of linking different PF triads in order to orchestrate behavior and a process.  Please refer tot he Better Software article for more information on this.


Overall, I owe a big thanks to Jason Porrit for inspiring me to learn more about this design pattern.  I look forward to hearing him present in the future.
-- 
Carlus Henry
SageTech L.L.C.

www.sagetech-llc.com | 
http://jdcarlflip.blogspot.com/
_______________________________________________
grand-rapids-pm-list mailing list
grand-rapids-pm-list at pm.org
http://mail.pm.org/mailman/listinfo/grand-rapids-pm-list






 
____________________________________________________________________________________
Looking for earth-friendly autos? 
Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center.
http://autos.yahoo.com/green_center/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/grand-rapids-pm-list/attachments/20070711/8d0f5375/attachment.html 


More information about the grand-rapids-pm-list mailing list