<!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!!&nbsp; My name is Shannon DeYoung and I am the Recruiting 
Manager for Select Resources, a local Information Technology Recruiting 
Firm.&nbsp; I am currently recruiting for a client in the Grand Rapids 
area&nbsp;and hoped that you may be able to lend me some assistance.&nbsp; My 
client is an industry leader&nbsp;and they are seeking experienced Perl 
Developer to join their team on a contract basis.&nbsp; 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>&nbsp;</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>&nbsp;</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).&nbsp; 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).&nbsp; I was very interested, however, in this MVP 
  pattern.&nbsp; 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').&nbsp; 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.&nbsp; 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.&nbsp; Well, I 
  don't know if retired is the correct 'r'-word.&nbsp; Maybe it should say 
  'R'efactored instead.&nbsp; 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>.&nbsp; After reading both of the patterns, they 
  sound very similar in detail and in practice.&nbsp; In the Passive View you 
  put all of the widget population logic into the Presenter.&nbsp; All logic is 
  pushed on the Presenter including the population of text fields or any other 
  widgets available on the View.&nbsp; 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.&nbsp; 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).&nbsp; 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.&nbsp; What most attracts me is 
  the concept of linking different PF triads in order to orchestrate behavior 
  and a process.&nbsp; 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.&nbsp; 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>