Hi Mark --
> > This, IMHO, is a good example of the M-V-C pattern,
> implemented using
> > CGI::Application.
>
> I like that division as well. However, your Controller modules could
> still grow large. Say you have 40 run modes in a module. At any given
> time, you are using 1 to 3 of them.
What you need to do in this case is to strike a better balance between
run-modes and Application modules. If you have 40 run-modes in one
Application module but you only use about one to three of them "at any given
time", that would suggest to me that you should, instead, have about 40 / 3
Application modules -- about 13 to 14 separate applications containing about
three run-modes each.
This is really the difference between an application like Sendmail, and an
app like QMail. The former is a single binary which is huge ("monolithic",
even!) and does everything from SMTP to MTA to mail routing. The latter,
QMail, does the same things but it is built of numerous small "parts" --
discrete application binaries -- each of which combine at run-time to
provide complete functionality. Each part has a clear differentiation of
responsibility and an interface through which the other applications
interact with it. I prefer the modular approach because it vastly eases the
task of ongoing software evolution and maintenance.
-Jesse-
--
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Jesse Erlbaum ....................... CTO
[EMAIL PROTECTED] ............. Vanguard Media
v: 212.242.5317 x115 ...... New York City
+-+-+-+-+-+- http://www.vm.com/ +-+-+-+-+-+-+
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]