Sonstiges > Offtopic

OO - Definition für Neueinsteiger

<< < (4/7) > >>

-Michael-:
Danke Jens.

Durch Deinen Beitrag komme ich wirklich ins Überlegen.
Wir sprechen bei OO wohl wirklich nicht nur von einer Methodik, sondern von einer neuen Art der Programmierung, die man erst mal (kennen)-lernen muss.
Ich frage hier sehr bewusst simpel und einfach. Aber ich habe verstanden.
Mir fehlt der nötige OO-Background, um geziehlt konstruktive Kritik loszulassen. Ich werde mich da entsprechend weiter informieren.

Trotzdem schonmal danke für die interessante Diskussion,

Michael

P.S. tolles Forum, man kann hier fachlich diskutieren, und andere Meinungen werden ernst genommen und nicht einfach abgestempelt :-)
Ich bin ja noch nicht ganz Eurer Meinung, habe aber ein Wissens-Defizit, welches ich durch Bücher aufzuholen versuche im Bereich OO :-) Melde mich auf jeden Fall wieder zu diesem Thema :-)

koehlerbv:
Ich glaube, solch eine Diskussion wie diese hier kann und wird auch den angedachten OOP-Kurs oder -Grundlagenbeitrag stimulieren.

Daher doch noch ein Nachtrag dazu:
Ich bleibe bei meiner Meinung: OOP ist aufwändiger als prozedurale Prgrammierung - man muss sich einfach viel, viel mehr Gedanken machen. Ebenso muss man entscheiden: Wann ist die Aufgabe so klein - oder besser - so strukturiert, dass sie prozedural (zeit-)effektiver gelöst wird.

Einen ganz entscheidenden Beitrag (aus meiner Sicht) hat Axel eben geliefert:

--- Zitat ---Eine Funktion kannst du aufrufen, die Funktion errechnet einen Rückgabewert und terminiert.
Objekte hälst du über einen beliebigen Zeitraum im Arbeitsspeicher. Während dieser Zeit kannst du sie immer aufrufen, den state ändern, sie abfragen, etc.
--- Ende Zitat ---

Michi, Du arbeitest doch auch mit Objetken wie NotesSession oder NotesDatabase. Die instantiierst Du ein einziges Mal und kannst dann auf ihre Eigenschaften und Methoden immer wieder zugreifen. Stell' Dir vor, Du könntest selber solche Objekte schaffen und dann ebenso mit diesen arbeiten !
Beispiel: Du hast eine QM-Datenbank und dort ein Objekt "QMDocument". Dieses Objekt instantiierst Du einmal (gibst dabei dem Konstruktor die notwendigen Informationen mit wie welches Dokument, Rechte des current users etc.). Ab dann kannst Du auf DEINE definierten Eigenschaften und Methoden simpelst zurückgreifen (und Dein Objekt immer als black box sehen):
Print QMDocument.Status
Call QMDocument.CreateVersionCopy
Set QMDocument.Status = "Approved"

Was hinter diesen Properties und Methods passiert, programmierst Du einmal und brauchst Dir später nie wieder Gedanken darüber zu machen (es sei denn, Du musst Dein Objekt erweitern um Props und Methods). Aber auch das wird Deinen bisherigen Code (ausser dem Objekt selbst) nicht jucken.

Wo immer das hinpasst, ist es ein riesiger Billigmacher. Und - wie es Jens schon sagte - in genau diese Richtung läuft der Hase. Auch LotusScript wird sicherlich in dieser Richtung Erweiterungen erfahren - IBM kommt da gar nicht vorbei (auch wenn genau auf dem Gebiet einiges an Hype dröhnt, und das seit mehr als einem Jahrzehnt mit jeweils unterschiedlichen Marschrichtungen). An OOP geht aber nix vorbei.

Was derzeit das angenehme ist: Man kann im Notes-Umfeld das Thema langsam angehen, tut sich keinen Zwang an und gewöhnt sich dabei an faszinierende Möglichkeiten.

Keine Frage aber auch: In LS v4 ist die OOP-Unterstützung etwas verbesserungsbedürftig (gaaaanz vorsichtig ausgedrückt). Aber es geht und belohnt den Aufwand !

HTH,
Bernhard

Hernan Cortez:

--- Zitat von: Semeaphoros am 17.04.04 - 00:16:06 ---Der Thread hier driftet in meinen Augen ziemlich ins Abseits, das Problem, das da im Moment auftaucht, wirklich begreifen lässt es sich nur in einer "ganzheitlichen Betrachtung" und die kann eine solche Diskussion hier eindeutig nicht bieten.

--- Ende Zitat ---

Das stimmt.

OO ist schon eine andere Art zu arbeiten und erfordert ein gewisses Mass an fokussierter Beschäftigung.
Sonst besteht die Gefahr, dass unsere Kommunikation so abläuft, dass
- du nur das siehst, was du sehen willst, und mir zustimmst, aber eben Teile nicht wahrnimmst oder
- mich als authistischen, weltfremden Schwätzer wahrnimmst.

Gruß Axel

Semeaphoros:
Beide Angaben von Bernhard und Axel sehr nützlich und geben dem Thread hier seine korrekte Bedeutung, danke.


--- Zitat von: koehlerbv am 17.04.04 - 00:49:04 ---Daher doch noch ein Nachtrag dazu:
Ich bleibe bei meiner Meinung: OOP ist aufwändiger als prozedurale Prgrammierung - man muss sich einfach viel, viel mehr Gedanken machen. Ebenso muss man entscheiden: Wann ist die Aufgabe so klein - oder besser - so strukturiert, dass sie prozedural (zeit-)effektiver gelöst wird.

--- Ende Zitat ---

Bernhard: das stimmt, aber das gehört nicht in die Programmierung sondern ist Architektur und Design, wie gesagt, die Aufwände verlagern sich, in der Summe bleiben sie anfänglich etwa gleich, später reduzieren sie sich im OO-Ansatz gegenüber dem prozeduralen Ansatz ....... sofern richtig eingesetzt, dazu gehört natürlich auch, dass man ein typisch "von Hause aus prozedurales" Problem eben nicht mit OO-Ansätzen löst.

koehlerbv:
Axel, Du denkst aber schon noch an die Basis dieses Threads, oder ? Es geht darum, das jemand wissen möchte, welche OO-Ansätze LotusScript in einer puren Notes-Client-Umgebung hergibt.
Und dort kann man ja zumindest erstmal starten. Und vor allem: Das ist eine absolut stabile Umgebung in diesem Kontext, mit der man zu sicheren Resultaten kommen kann.

Was Michaels Befürchtung hinsichtlich Hype angeht: Man kann OOP auch totdiskutieren und so nie zu Resultaten kommen. Und Theorien auf diesem Gebiet hat es genug gegeben, und genügend Leute Propheten, deren Thesen wenige Jahre später nicht mehr wahr waren.
Bei aller notwendiger Theorie: Auch diese muss sich an der Praxis beweisen. MUSS !

Und Polemik sollten wir gerade in diesem Kontext hier mal 'rauslassen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln