[Catalyst] Refactoring Controllers
Eden Cardim
edencardim at gmail.com
Fri Jul 29 20:40:18 GMT 2011
>>>>> "Steve" == Steve <steve at matsch.com> writes:
Steve> Hi all,
Steve> I have a question regarding controller refactoring, and whether subclassing
Steve> (or adding a Moose role) would be a good idea for a particular application.
Steve> The application creates 6 different types of invoices, each representing a
Steve> particular type of service. Currently, I have a controller for each that
Steve> handles the various steps that must be taken to produce and ultimately send
Steve> these invoices. ALL OF THESE CONTROLLERS HAVE THE SAME ACTIONS, and most of
Steve> the same logic, which to me says I should refactor these controllers...I
Steve> just don't know how, and also whether the benefit is worth the work. Almost
Steve> certainly it would not be worth it in and of itself, however I might want to
Steve> write another application someday where knowing this would certainly be
Steve> useful :)
Steve> So IF this seems reasonable, and my controllers are 'FOOcontrol',
Steve> BARcontrol', 'BAZcontrol', and my actions are 'initialize', 'upload_data',
Steve> process', 'generate_invoices'...etc., what is a good way to stay DRY? In
Steve> particular I'm having a hard time wrapping my mind around how the URI's
Steve> would be handled.
If the actions aren't private, you want to create a base controller to
preserve the URI paths and keep them consistent across the several
inheriting controllers. If not, move the methods into a model and use
delegation.
--
Eden Cardim Need help with your Catalyst or DBIx::Class project?
Code Monkey http://www.shadowcat.co.uk/catalyst/
Shadowcat Systems Ltd. Want a managed development or deployment platform?
http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
http://twitter.com/#!/edenc
More information about the Catalyst
mailing list