BP107 - Object Orientated Lotuscript Best Practices

Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Here's the final version of my presentation. Click here to download the PDF. (The only changes to this presentation is an updated book list at the end).


Here's the final version of the code. here


And here's a presentation on our product - FirM - if this is of interest to you. Click here to download the Adobe Acrobat PDF. Our company homepage is here. Developing this product help produce some of these OO techniques.



Breaking news - Jens Augustini - who did AD211 - has placed his presentation material here




Note that Alain has commented on the presentation:


Bill,


I just discovered and read with much interest « BP107 - Best Practices in OO LotusScript » you presented last week at LotuSphere. I wish I was there to attend your session, as well as others on similar topics. I appreciate the information you provide regarding class loading efforts required from LotusScript interpreter.


Considering I may have missed important aspects of your session while simply reading through a presentation file, I would like to forward you some remarks:


You write, in page 31 & 39:

« Compile-time type safety checks are lost while using loose binding in place of tight binding »

« Dynamic loading of class libraries 'sidesteps' type safety checks »


Although your statements are both valid while making use of NewObj routine exposed in the IBM Redbook you cite, they become incorrect while one is designing and programming interface or abstract classes in LotusScript. Although interface classes are not fully available to the extend Java language enables them, LotusScript programmers can, I mean should, develop interface classes whenever deemed relevant.


I have attempted to exhibit how one can design & implement interface classes with LotusScript in iStopwatches & iTicker examples I shared within OpenDOM project at OpenNTF, as well as in iProgressBar example within NotesProgressBar project at OpenNTF. Those interfaces demonstrate how one can benefit from compile-time type safety checks in combination with dynamic loading of class libraries. While you mention OpenDOM work by the end your presentation, I wonder if you missed these aspects or simply omitted them ?


I welcome any objection or remarks you may have regarding the design of interface/abstract LotusScript classes with respect to the examples I mentioned earlier or to elements your PDF presentation file may have eluded.


Cordially

Alain (H) Romedenne


PS:

I'm feeling much obliged you mentioned org.OpenNTF.OpenDOM


Hey - no worries. I only saw the OpenDom stuff in January - and it was too late to include it in the presentation. So I hope that this presentation and all the 300+ plus folks who got out of bed at 8:30am will download OpenDom, learn, use, and extend it.

Some reviews:

  • Had to be the worst ever. Pompous scottish git - small, at that, trying to lecture the world.... No seriously; well done; it was one of the most entertaining sessions I went to and certainly the most informative, and probably the most valuable also in terms of things to take home and use. Well done. Your mum might have been proud of you.
  • I saw your Advanced OOP presentation at Lotusphere. As those of you on the other side of the pond say, “Brilliant!” I’ve been doing LS OOP for about 18 months now and much prefer it to plain old procedural LS.
  • I absolutely loved it!! You are my new hero. Up until your presentation, I just wasn't "getting it" in regard to OO programming. Now, I think I am. (Gulp. Scary)

All my past and future presentations can be found here

Finalist's Site Marker 3.jpg

Quick Bill


I'm
- a Lotus Domino Dual PCLP - that is, a SysAdmin PCLP and an AppDev PCLP (or IBM Certified Advanced Application Developer and Advanced System Administrator) in nd7, v6, v5, v4 and v3. (one of 20 worldwide!)
- an IBM Certified System Administrator - Websphere Portal v5.0
- an IBM Certified Solutions Developer - Websphere Portal v5.0
- an IBM Certified Associate Developer - Websphere Studio v5
- an IBM Certified Solutions Expert - Websphere v4.0.
- a SUN Java 2 Certified Programmer
- a (probably lapsed now) Microsoft MCSE in Windows NT4.
- a (definately) lapsed now CLP in cc:Mail v2 and v6

Blogrolls







ND7

PB-DOMPOST-00_md_thumb.jpg