I'm positive many folks will read this post and say, "Well, obviously." But nonetheless the idea was new to me, so I am tossing it out....
My former concept of objects was that they make sense
- only on really big projects, and
- only when there'll be many instances of each class
My minor epiphany is the power of using objects even for
- moderate-sized projects, and
- even when you instantiate only one of them.
The example at hand is getting data from a file about some complex thing. During the course of the project, I've repeatedly changed the file structure, adding and dropping fields. And the next step will be to skip the file and just move the data into a real database. Whatever. By putting a thin object wrapper around the whole concept (
my $value = $C->get(var=>$var, subid=$sid);) I can make these changes without any impact on the large main program. Cool.
Again, this is probably old news for many monks, but it got me thinking about objects in a new way.