Zorba the Hutt (zorbathut) wrote,
Zorba the Hutt

  • Mood:
  • Music:
ah, this is so much more beautiful than my last design . . . derive someFile from file::kBase, drop it into a file::kWrapped< someFile >, point that at the file::kManager to register it, then downcase it to file::kWrapinterface and snap it into place. So pretty. And if someFile needs subfiles, I can just add those in without the whole wrap interface. When I need to get these out, I'll just call file::kManager with the appropriate registered string or identifier or however I should choose to do it and pull a file::kHandle< baseClass > out, all prettily downcasted and typesafe. It won't even *know* what class it used to be. I can change file formats and encoding strategies completely, without even needing to touch the code. It's perfect. The interfaces are all down, I just need to write the functions . . . well, file::kManager isn't designed yet, but there's only one merge point for that anyway, just as it should be. Minimal coupling, and what's there is so, so strong . . . this interface is gold. I will never have to touch it :)

Well, not entirely true. A few changes will likely need to be made. Perhaps file::kWrapped will need to do some slightly more intelligent allocation based on file information, but I can just add a few more keys to file::kBase for that. And eventually I'll add a memory deallocator aggressiveness slider, and that will take a little tweaking of file::kWrapinterface . . . but no worries. No worries at all :)

and I've even got strange loud instrumental music playing. Life is, for the time being, good.
  • Post a new comment


    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.