<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@MS Mincho";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Hi List!<o:p></o:p></p>
<p class=MsoNormal>I’m a new-ish Catalyst developer, converted from the
ranks of the HTML::Mason faithful, and the recent nature of my dedication to MVC
design, and to Catalyst’s fat-model pattern specifically, has left me
with some questions that I hope you folks can help me with. I’m trying to
understand how I would go about moving my application’s business logic,
which seemed at first glance to fit quite logically into Catalyst’s Controllers,
into the Model. Specifically, in this case I’ve got a Catalyst::Model::DBIC::Schema
model to obtain my application’s data from; should I try to implement my
business logic in that model (and if so, where? In the DBIC model PM? In the schema
definitions?), or should I create a separate ‘application object’
model which brokers requests from the Controllers and uses the DBIC model to
implement them if they fit the application’s logic? I’ve looked far
and wide to try to better understand how this pattern should work, since I can
see the benefit of the better code reuse and easier maintenance it would
entail; I just need some advice to get me started. Suggestions?<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Cheers,<o:p></o:p></p>
<p class=MsoNormal><span lang=ES-TRAD>Jeff Albert<o:p></o:p></span></p>
<p class=MsoNormal><span lang=ES-TRAD><a href="mailto:jralbert@uvic.ca">jralbert@uvic.ca</a><o:p></o:p></span></p>
<p class=MsoNormal><span lang=ES-TRAD><o:p> </o:p></span></p>
</div>
</body>
</html>