Componentizing complex functionality in an MVC web app

Posted by NXT on Stack Overflow See other posts from Stack Overflow or by NXT
Published on 2010-06-07T01:55:32Z Indexed on 2010/06/07 2:02 UTC
Read the original article Hit count: 265

Filed under:
|
|
|
|

Hi Everyone,

This is question about MVC web-app architecture, and how it can be extended to handle componentizing moderately complex units of functionality.

I have an MVC style web-app with a customer facing credit card charge page.

I've been asked to allow the admins to enter credit card payments as well, for times when credit cards are taken over the phone.

The customer facing credit card charge section of the website is currently it's own controller, with approximately 3 pages and a login. That controller is responsible for:

  • Customer login credential authentication
  • Credit card data collection
  • Calling a library to do the actual charge.
  • reporting the results to the user.

I would like to extract the card data collection pages into a component of some kind so that I can easily reuse the code on the admin side of the app.

Right now my components are limited to single "view" pages with PHP style embedded Perl code.

This is a simple, custom MVC framework written in Perl. Right now, controllers are called directly from the framework to service web requests. My idea is to allow controllers to be called from other controllers, so that I can componentize more complex functionality.

For simplicity I think I prefer composition over inheritance, even though it will require writing a bunch of pass-through methods (actions). Being Perl, I could in theory do multiple inheritance.

I'm wondering if anyone with experience in other MVC web frameworks can comment on how this sort of thing is usually done.

Thank you.

© Stack Overflow or respective owner

Related posts about django

Related posts about mvc