OOD Notation — mein Weg zum Entwurf von Code Struktur
Wer eine Software-Komponente zu implementieren hat, dem sollte zunächst eine abstrakte Spezifikation dieser Komponente vorliegen. C_WissDB_API (Business Layer) bzw. die umfassendere Spezifikation WissDB ist Beispiel dafür, wie solche Spezifikationen meiner Meinung nach am besten gestaltet werden.Wie also würde man vorgehen, wenn man als Programmierer die Aufgabe bekäme, dieses WissDB_API zu implementieren als in Java oder C# geschriebene Anwendung der als C_WissDB_DL_API (Data Layer) spezifizierten Datenhaltungsschnittstelle?
Ganz sicher würde man
- zuerst beide abstrakt spezifizierten APIs konkretisieren zu einem Interface im Sinne der Implementierungssprache (Java oder C#)
- und würde sich dann überlegen, welche Hilfsklassen man implementieren sollte, die Abbildung des Business Layer APIs auf das Data Layer API zu bewerkstelligen.
- extrem einfach,
- sehr handlich
- und automatisch nach Java oder C# umsetzbar
Design of Classes and Interfaces based on Java or .NET
Wer meinen Ansatz verstehen möchte, betrachte als Beispiel
- die Datei X.ood (in OOD notiertes Klassendesign aus einem Projekt BMF) und
- den daraus generierten C# Code (zu finden in X.cs).
Die Tatsache, dass
- der Klassenentwurf in einer einzigen TXT Datei steht,
- der generierte Code aber doppelt so umfangreich und zudem noch auf mehrere Dateien verteilt ist,
Sicher ist zudem: Dieses Klassendesign in UML aufzuschreiben hätte mehr Arbeit erfordert und hätte mich zudem noch an allzu spezifisches Werkzeug gebunden. Den Generator oodes.exe für C# zu implementieren gelang in wenigen Stunden; projektspezifische Varianten zu erstellen ist einfach.
stw3872NOODAPI — Notation . OOD . API — News?
Mehr + B G E + S H A + More