Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^4: Yet Another Perl Object Model (Inside Out Objects)

by adrianh (Chancellor)
on Dec 15, 2002 at 04:51 UTC ( #219964=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Yet Another Perl Object Model (Inside Out Objects)
in thread Yet Another Perl Object Model (Inside Out Objects)

To answer your original question:

A question: Why do you serialise objects?

Three reasons:

  1. Debugging - quick 'n' dirty view of the current objects state.
  2. Persistance
  3. Copying - soemtimes a quick freeze/thaw cycle is the simplest way

As to your other comments, I tend towards having serialisation be the responsibility of the class, since it gives you more flexibility.

This doesn't mean that you have to write a brittle serialisation method for each class - there is nothing stopping you using Storable within your classes freeze/thaw methods (note: "using" not "inheriting from" - inheritence is overrated :-)

This gives you flexibility (you can change your serialisation method on a class by class basis if necessary) and simplicity (common functionality sits in the serialisation class).

The "problem" with inside-out objects is that the "simple" case - dump all of the attributes - becomes hard. You can't just throw $self at Storable::freeze in your classes "freeze" routine.

  • Comment on Re^4: Yet Another Perl Object Model (Inside Out Objects)

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://219964]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2018-06-22 06:27 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (121 votes). Check out past polls.