Eine Speicherung ist aber nicht immer zu jedem Zeitpunkt erwünscht.
Wenn z.B. Validierungsformeln gegen das geöffnete Dokument laufen.
Oder meinetwegen aus dem QuerySave eine Mail verschickt wird. Und für diese Geschäftslogik werden Daten aus dem anderen Dokument benötigt, das aus diesem Dokument heraus erzeugt wurde. In Anwendungen für den Browser ist zum Beispiel sogar sehr oft ein Speichern ziemlich problematisch.
Natürlich sollte man die Features, die die Plattform anbietet a) kennen und b) möglichst immer nutzen.
Es gibt manchmal Fälle, in denen die Geschäftslogik eben mit diesen Features nicht gut abbildbar ist.
Da ist es für einen Anwendungsentwickler immer gut, andere Wege zu kennen. Und die hier gemachten Vorschläge stellen aus meiner Sicht saubere Alternativen dar.
Wenn man auf Grund von technischen Details einer Plattform zu stark die Anwendungslogik unbiegen muß, spricht man von "intrusiveness of the platform".
Zugegebenermassen ist das nicht so einfach und da geb ich Tode mehr Recht als gestern abend. Klar gibts Fälle, in denen Leute ein in der Zukunft schwer wartbares Programmierfeuerwerk abfeuern, obwohl das gar nicht nötig ist. Oft führt das zu Kosten, die erst in der Zukunft aufschlagen. Besonders ärgerlich ist, wenn Leute das machen, weil das in irgendeiner Vorgängerversion mal nötig war und sich dann auch noch für Programmiergurus halten.
Manchmal muß oder sollte ich sogar auf jeder Plattform von den angebotenen eingebauten Features abweichen. Und da ist es immer gut, die Alternativen zu kennen. Und selbstverständlich auch die Kosten, die das möglicherweise in t1...tn erzeugt.
Intrusiveness of a platform ist natürlich nicht "Typisch Lotus Notes". Das gibts auch in Spring, Hibernate, EJB3, SOA, gute objekt-orientierte Praktiken or whatever. Nur macht mich auch dort die Kenntnis von Alternativen (und einer realistischen Einschätzung der daraus resultierenden Kosten) zu einem effektiveren Programmierer.
Gruß Axel