http://www.perlmonks.org?node_id=502030


in reply to Of strict, globals, packages and style

Roy Johnson opened a whole other can of worms for for me on the ChatterBox, he suggested that I was started to think in an object oriented way...

I've done a bit of OO programming with java and I've always struggled because I try to make monolithic objects that do everything and end up frustrated when my patterns work.

For example, in this instance, I was focusing on the data I was processing and I could probably make an object model out of it, but it would blow all of my existing logic. But if I make my processes the object and pass the data in standardized format (hashes or arrays, depending on the situation) between them, it seems to work really well.:

  • $fp = Reports::XXX::FileProcessor->new
  • $fp->getConfig
  • $fp->getFiles
  • $lp = Reports::XXX::LineProcessor->new
  • while ($file = $fp->next)
    • $lp->process($file)
  • $dp = Reports::XXX::DataProcessor->new
  • while ($data = $dp->next)
    • $dp->store($data)
  • $dp->cleanup

    XXX being the NetworkElement I'm working on that would be passed in like one of the suggestions above.

    Anyhow, thanks for all the input, there is a lot of data and varying opinions to process here. Unfortunately, I don't have a lot of time to tarry on this (I'm actually operations, not dev), so I'll probably close my eyes and pick one :)

    thanks again

    Never moon a werewolf!