As part of the hadsl development team, it was my task to enable our product to manage BlackBerry handsets. Fairly straightforward, as the guys at RIM had done a fairly good job in listening to their customers and producing a resource kit to do the job.
So all I had to do to was to add four or five new transactions to our already huge (60,000 lines or so) application. Scary ?
No. We architected it right from the start to use Object Orientated Techniques (more on this on my presentation page). What does that mean ?
Specifically in our architecture, that meant creating one new class for each transaction that inherited from our base transaction class. And then add code into the framework to deal with BlackBerries. And since the new transactions had a high amount of commonality, I decided to actually create a new "BlackBerry Transaction Class" inheriting from the base Transaction class, and then create my new transactions from BlackBerry transaction class instead.
Why ? Well that meant that all the code in BlackBerry Transaction class was available to my four or five new classes. Simple, eh ? Code re-use at its simplest.. It means that I managed to implement all this in under 1200 lines of Lotusscript (which given the amount of provision, checking, load-balancing, etc, that goes on, is fairly amazing). And if I decide to implement a new transaction - say - "move user between BlackBerry servers" - then its only 150 lines of mostly very similar code...
Hopefully now all you folks wondering about using OO techniques in Lotusscript will start to see some real gain in doing so from this real world example?
Our BlackBerry handling stuff comes out soon - we dont give out dates, as we have to get this thing through our testing rig. We'd much rather take longer in testing...
(Now all poor Roy needs is a shiny new BlackBerry 8700 handset...)