>
>
> This isn't quite informative.  But objects also make it easier
>> to inter-relate a bunch of methods that you haven't necessarily
>> programmed yet without having to remember what arguments you
>> have to pass around from method to method, because you can get
>> them out of $self when you need them in whatever routine.  That,
>> I would say, is the biggest benefit (to me) for being strict
>> about using object structure whenever it makes sense.
>>
>
> Mark
>

Agreed, this is a definite benefit during development.  But the objects give
you an additional, foundational, benefit...it's easier to understand what it
is your doing.  By separating your domain 'artifacts' into logical objects,
similar to how they would exist in real life, it is easier to understand a
complex model because it's easier can comprehend the individual abstract
parts.  Further, adding logical behaviours to these instantiated objects
(both static and instance) you can expect a set of behaviours from that
object (it's interface), depending on what it is and where in the
inheritance taxonomy it falls.  This, of course, is very important when you
start inter-relating (coupling) objects into coherent components...and even
more so when you come back in 6 months and have to add in a similar but
ever-so-slightly-different object =).  OOP, especially the perl way, give
you lots of flexibility...but as you suggested, we have to make the decision
when OOP is the right thing to after analyzing all aspects of the project.

I agree that the catalouge, in our limited understanding of the
requirements, should be a class (perhaps an object, depending on if there is
an fact a current or future business need to have multiple
catalogues...sometimes, you're only going to represent a single library).
Also about the importance of understanding the way mod_perl handles
persistance...which can bite you when your not paying attention.

S

Reply via email to