<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.6000.16481" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=515023212-10072007><FONT face=Arial><FONT color=#0000ff><FONT
size=2>Good morning!! My name is Shannon DeYoung and I am the Recruiting
Manager for Select Resources, a local Information Technology Recruiting
Firm. I am currently recruiting for a client in the Grand Rapids
area and hoped that you may be able to lend me some assistance. My
client is an industry leader and they are seeking experienced Perl
Developer to join their team on a contract basis. This is a great company
to work for and the projects they are working on are very challenging. I would
love to speak with you any of you about this in hopes that you or possibly
someone you know may be interested. <?xml:namespace prefix = o ns =
"urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></FONT>
<P><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN
class=515023212-10072007>Thank you for your time and assistance.</SPAN>
<o:p></o:p></FONT></FONT></FONT></P>
<P><FONT face=Arial color=#0000ff size=2>Best
Regards,<BR></FONT></SPAN></P></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2>Shannon DeYoung</FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2><EM>Recruiting
Manager</EM></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2>Select Resources,
LLC</FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2><A
href="mailto:sdeyoung@select-resources.com">sdeyoung@select-resources.com</A></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2>616-874-7550 (home
office)</FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2>616-723-3511
(mobile)</FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B>
grand-rapids-pm-list-bounces+sdeyoung=select-resources.com@pm.org
[mailto:grand-rapids-pm-list-bounces+sdeyoung=select-resources.com@pm.org]
<B>On Behalf Of </B>Carlus Henry<BR><B>Sent:</B> Thursday, July 05, 2007 8:49
AM<BR><B>To:</B> grand-rapids-pm-list@pm.org<BR><B>Subject:</B>
[grand-rapids-pm-list] Model View Presenter<BR><BR></FONT></DIV>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. <BR><BR>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: <BR><BR><SPAN
style="FONT-WEIGHT: bold; TEXT-DECORATION: underline">Martin Fowler Retires
Model View Presenter Pattern</SPAN><BR><BR>Yes. Believe it or not, this
<A onclick="return top.js.OpenExtLink(window,event,this)"
href="http://www.martinfowler.com/eaaDev/ModelViewPresenter.html"
target=_blank>pattern has been retired</A> 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 <A
onclick="return top.js.OpenExtLink(window,event,this)"
href="http://www.martinfowler.com/eaaDev/SupervisingPresenter.html"
target=_blank>Supervising Controller</A> and the <A
onclick="return top.js.OpenExtLink(window,event,this)"
href="http://www.martinfowler.com/eaaDev/PassiveScreen.html"
target=_blank>Passive View</A>. 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: <BR><BR>"...the essence
of a good <I>Supervising Controller</I> 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."<BR><BR><SPAN
style="FONT-WEIGHT: bold; TEXT-DECORATION: underline">Atomic Object Presenter
First</SPAN><BR>On a related note, <A href="http://atomicobject.com/">Atomic
Object</A> 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 <A
href="http://atomicobject.com/pages/Presenter+First">PF resources</A>), 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. <BR><BR>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.<BR>-- <BR>Carlus Henry<BR>SageTech
L.L.C.<BR><A onclick="return top.js.OpenExtLink(window,event,this)"
href="http://www.sagetech-llc.com" target=_blank>www.sagetech-llc.com</A> | <A
onclick="return top.js.OpenExtLink(window,event,this)"
href="http://jdcarlflip.blogspot.com/"
target=_blank>http://jdcarlflip.blogspot.com/</A> </BLOCKQUOTE></BODY></HTML>