27.08.2010
NLLUG 2010: Wir sind dabei!
Category: NLLUG, Konferenzen, JavaScript, XPages, OOP, LotusScript
Wir wurden eingeladen, auf der NL Lotus User Group (NLLUG) "Get Social 2010" Conference am 9. - 10.September 2010 in der Amsterdam ArenA zwei Vorträge zu halten:
DEV03 - Get up to Speed with Object-Oriented Programming in LotusScript
| Speaker | Thomas Bahn | Date | Th. 9 September |
| Language | English (EN) | Slot | 16:15-17:00 |
| Track | DEV | Room | L4KP |
Any objections against objects? Never visited classes about classes? Is abstraction still too abstract for you? Or don't you know how to use methodic methods and proper properties?
Then visit this introductory session about object-oriented programming (OOP) in LotusScript, where you will learn
- why delegation might be better than inheritance,
- why hiding information is can be helpful and
- how polymorphism teaches new tricks to an old dog.
If you are familiar with LotusScript, but don't know how to create your own classes, this session is for you!
http://www.lug2010.nl/get-social/DEV03
DEV02 - Advanced JavaScript - Fundament for Great XPages Apps
| Speaker | Thomas Bahn | Date | Fr. 10 September |
| Language | English (EN) | Slot | 14:00-14:45 |
| Track | DEV | Room | L4KP |
Want to develop first class XPage applications? Come and learn to leverage JavaScript to its full potential.
Hear about:
- core language features like 'loose typing', default and guard operators, first class functions, lambda and closures,
- object-oriented, but class-less JavaScript with prototypal, parasitic and (pseudo-)classical inheritance,
- dynamic objects with public, private and privileged members,
- object literals, constructor functions and more ways to create objects.
http://www.lug2010.nl/get-social/DEV02
08.03.2010
EntwicklerCamp 2010: Entwurfsmuster - oder das Wissen der Anderen
Category: EntwicklerCamp 2010, EntwicklerCamp, Konferenzen, OOP
Der erste Tag des EntwicklerCamp 2010 ist vorüber. Heute gab es zwei Überraschungen für mich: Ich wurde aus Bob Balabans Session "Advanced Programming with Notes/Domino COM classes" herausgerufen, um kurzfristig für den Vortrag "Plug-In-Entwicklung für Lotus Notes/Domino" von René Winkelmeyer einzuspringen. René hatte leider seinen Flug verpasst und Detlev Pöttgen, der designierte Ersatzspieler, hatte die Präsentation leider auch nicht zugeschickt bekommen. So hatte ich ca. 75 Minuten, um mich auf einen Vortrag vorzubereiten, den ich vor 2 Jahren das letzte Mal gehalten habe...
Die andere Überraschung war, dass ich (endlich) mal etwas in einer Verlosung gewonnen habe.
Die Präsentation und Beispiel-DB zum Vortrag Entwurfsmuster - oder "Das Wissen der Anderen":
17.12.2009
Abstract classes concrete
Category: OOP, Entwicklung, LotusScript
If you have some knowledge about other object-oriented programming languages, like Java, you probably like abstract classes. These are classes you cannot instanciate directly, i.e. create new objects from them. But you can derive other classes from them and create objects from these subclasses. In an abstract class you can have attributes and methods like in any other class.
Normally, abstract classes model some kind of concept or abstraction, for example Animal. There are dogs and cats, but no creature is merely an animal, its always of a concrete kind of animal.
In the abstract class Animal you put those attributes and members, which all animals have in common. Then you build subclasses like Dog or Cat, which add new or overwrite inherited members.
Other classes are abstract, because they have methods, which cannot be implemented at this level. Only concrete subclasses "know", how to implement them.
A typical example of this is a generic Sorter class with a Sort method. The concrete subclasses BubbleSorter, HeapSorter and QuickSorter overwrite the abstract Sort method with different implementations.
Unfortunately, in LotusScript there are no abstract classes. But there is a workaround, which can kind of simulate them:
Read More
15.09.2008
Softsphere 2008: einfach - OOP - einfach
Category: Softsphere, Konferenzen, OOP, Entwicklung
Ich habe heute wieder mal versucht, neue Notes-Entwickler in die Konzepte, Prinzipien und Vorteile objektorientierter Entwicklung einzuführen. Das Thema liegt mir am Herzen, weil ich wirklich überzeugt bin, dass man mit OOP bessere Anwendungen schreiben kann. Und bessere Notes- und Domino-Anwendungen sind gut für die gesamte Plattform. Und wer weiß, vielleicht darf ich ja auch irgendwann einmal eine Datenbank weiterentwickeln, die einer der Teilnehmer nach einen meiner Vorträge geschrieben hat. Und käme mir die bessere Wartbarkeit sogar selbst zu gute.
Ich habe wieder den "Zen-Ansatz" für Präsentationen nach dem Buch "PresentationZen" von Garr Reynolds genutzt. Starke, teilweise emotionale Bilder, ganz wenig Text, keine "Bullet Points". Und viel dazu erzählt.
Damit man die Session gut nacharbeiten kann (und für die, die daran nicht teilnehmen konnten), habe ich ein sehr ausführliches Handout vorbereitet, das neben den Folien auch ausgiebige Notizen beinhaltet. Schreibt mir mal per E-Mail oder einfach als Kommentar hier, ob euch der Ansatz auch so gut gefällt wie mir.
Und nach der langen Vorrede hier die Dateien zum Download:
einfach- OOP - einfach-Präsentation
Softsphere
2008 - einfach - OOP - einfach-Präsentation
einfach - OOP - einfach-Demo-Datenbank
Softsphere
2008 - einfach - OOP - einfach-Demo-Datenbank
11.06.2008
ILUG 2008: simply - OOP - simply
Category: ILUG, Konferenzen, OOP, Entwicklung
Ich wünschte, ich hätte mehr Zeit... Auch ich würde die ILUG-Konferenz über den grünen Klee
Da es schon wieder fast 2 Uhr ist, lieber in aller Kürze: Hier ist meine Präsentation (mit Notizen) und die Demo-Datenbank, die ich während der Session gezeigt habe:
simply - OOP - simply-Präsentation
ILUG
2008 - simply - OOP - simply-Präsentation
simply - OOP - simply-Demo-Datenbank
ILUG
2008 - simply - OOP - simply-Demo-Datenbank
06.03.2008
ILUG 2008: Wir sind dabei!
Category: ILUG, Konferenzen, OOP
Eben habe ich die Bestätigung erhalten, dass unser Vortrag angenommen worden ist. Wir freuen uns auf der ILUG 2008 mit der folgenden Session dabei zu sein:
|
Simply - OOP - Simply
| |
| Session abstract | Do you have objections to objects? Haven't
you visited classes about classes? Is abstraction still too abstract for
you? Don't you use methodic methods and proper properties?
Then come to this introductory session about object-oriented programming (OOP) in LotusScript, where you can learn: - why delegation might be better then inheritance, - why hiding information can be helpful sometimes and - how you can use polymorphism to teach old dogs new tricks. |
| Type | Development |
| Speaker | Thomas Bahn |
26.02.2008
EntwicklerCamp 2008: Unsere Vorträge (Update)
Category: EntwicklerCamp, Konferenzen, OOP

Wie angekündigt haben wir auf dem diesjährigen EntwicklerCamp zwei Vorträge gehalten. Hier sind die Folien beziehungsweise die Beispieldatenbank.
OOP in LotusScript für Web- und Notes-Anwendungen
EntwicklerCamp
2008 - OOP-Präsentation
Entwurfsmuster - oder "Das Wissen der Anderen" (Design Patterns)
EntwicklerCamp
2008 - Design Patterns-Präsentation
Gemeinsame Beispieldatenbank
EntwicklerCamp
2008 - Beispieldatenbank
24.01.2008
Lotusphere 2008 - AD311 - Object Oriented Programming with Lotusscript – Take It To the Next Level
Category: Lotusphere, OOP
Es ist vollbracht. Unsere erste Lotusphere Breakout Session ist vorbei. Hier nur ganz kurz bevor das WLAN abgeschaltet wird, wie versprochen, die Präsentation und die Beispiel Datenbank.
Lotusphere
2008 - AD311 - OOP in LotusScript - Presentation
Lotusphere
2008 - AD311 - OOP in LotusScript - Sample
20.01.2008
OOP in LS: Verwendung von Controllerklassen / Trennung von Frontend und Backend
Category: OOP
Das zugrundeliegende Ziel bei der Verwendung von Controllerklassen, um auf die Fachklassen zuzugreifen, ist die Umsetzung aller fachlichen Anforderungen nur an einer Stelle im Code.
Read More
13.01.2008
OOP in LS: MVC in Lotus Notes
Category: OOP
Das Pattern besteht aus drei Komponenten
- Model - die eigentliche Fachklasse
- View - Darstellung der Informationen der Fachklasse
- Controller - Benutzerinteraktion
Read More
07.01.2008
OOP in LotusScript - Warum sollte man?
Category: OOP
Doch gibt es aus meiner Sicht eine Menge guter Gründe, die für die objektorientierte Programmierung in LotusScript sprechen.
Read More
13.11.2007
DNUG Herbstkonferenz 2007 - Objektorientierte Programmierung (OOP) in LotusScript
Category: DNUG, Konferenzen, Entwicklung, OOP
Nun ist es vollbracht. Mein Vortrag "Objektorientierte Programmierung (OOP) in LotusScript - Der nächste Schritt" bei der DNUG Herbstkonferenz ist zu Ende. Die für die Session angesetzen 90 Minuten waren doch schneller vorbei, als ich erwartet habe.
Wie der Titel schon andeutet, habe ich über eines meiner Lieblingsthemen gesprochen: die Vorteile der Objektorientierung in LotusScript. Inhalt war weniger, was OOP ist. Vielmehr wurde gezeigt, wie das Model View Controller Pattern in Lotus Notes realisiert werden kann. Die in diesem Pattern beschriebene Trennung zwischen Fachklasse (Model), Darstellung (View) und Benutzerinteraktion (Controller) nutzen wir, um unser Framework aufzubauen. Die Details dazu finden Sie in den Folien. Weil Konzepte bisweilen mit Code verständlicher ist, gibt es auch eine Beispieldatenbank.
Update:
Der Download des PDF-Dokumentes funktioniert
nun.
14.11.2007
DNUG Herbstkonferenz 2007 - Entwurfsmuster für Notes-Entwickler
Category: DNUG, Konferenzen, Entwicklung, OOP
"Ein Entwurfsmuster ist eine Lösung zu einem Problem in einem Kontext."
Was das bedeutet und warum es gut ist, Entwicklungsmuster zu kennen, habe ich heute versucht, in meinem Vortrag "Entwurfsmuster für Notes-Entwickler" auf der DNUG Herbstkonferenz 2007 zu vermitteln.
Zum noch einmal Nachlesen und für die, die nicht nach Bonn kommen konnten, sind hier die Präsentation und die LotusScript-Beispiel-Datei:
20.05.2007
OOP in LotusScript - Building a MVC Framework
Category: EntwicklerCamp, Konferenzen, Lotus Notes, Entwicklung, OOP
I finally found the time to translate my session "OOP in LotusScript - Building a MVC Framework" held at the EntwicklerCamp.
OOPLotusScript_en.pdfThe sample application is still in German
OOPBeispiel.zip
28.02.2007
EntwicklerCamp 2007 - OOP in LotusScript
Category: EntwicklerCamp, Konferenzen, Lotus Notes, Entwicklung, OOP
Auch den zweiten Vortrag auf dem diesjährigen EntwicklerCamp habe ich über die Bühne gebracht. In "OOP in LotusScript - der nächste Schritt" habe ich beschrieben, wie in LotusScript ein Framework nach dem Model-View-Controller-Pattern aufgebaut werden kann. Die Grundidee ist, dass durch Verwendung von Fachklassen und geeignete Basisklassen Anwendungen schneller entwickelt werden können, die auch noch besser zu warten sind.
Die Details wie so etwas zu erreichen ist, kann den Folien entnommen werden. Weil es manchmal einfacher ist, neben der Theorie auch die Umsetzung zu sehen, gibt es zu den Folien auch eine Beispiel-Anwendung. Der darin verwendete Code kann frei verwendet werden. Es gelten die üblichen Einschränkungen.
Die
Gestaltungselemente in dieser Datenbank dürfen frei verwendet werden. Wir
haben sie selbst erstellt und so sie sind wahrscheinlich frei von Rechten
Dritter. Mit Ihrer Benutzung erklären Sie sich bereit, uns von eventuellen
Ansprüchen Dritter freizustellen.
Der enthaltene Code wurde getestet. Dennoch schließen wir jede Haftung für Schäden aus, die durch die Verwendung dieses Codes entstehen. Wenn Sie diesen Code verwenden, erklären Sie sich damit einverstanden, uns von einer eventuellen Haftung freizustellen.
Der enthaltene Code wurde getestet. Dennoch schließen wir jede Haftung für Schäden aus, die durch die Verwendung dieses Codes entstehen. Wenn Sie diesen Code verwenden, erklären Sie sich damit einverstanden, uns von einer eventuellen Haftung freizustellen.
OOPLotusScript.pdf -
OOPBeispiel.zip
Für einen Einstieg in die Objektorientierte Programmierung in LotusScript ist hier noch einmal mein Vortrag vom letzten Jahr.
OOLotusScript.pdf -
OOSampleDB.zip







