Software-Architektur

Virtuelle Konstruktoren in C++

Wir kennen das Konzept der Polymorphie, die die dynamische Bindung (Dynamic Binding) auf Klassen-Funktionen ermöglicht. Der Vorteil der dynamischen Bindung ist die schwächere Kopplung zu Objekttypen. Wir müssen keine Typunterscheidung vornehmen, wenn wir eine Objektfunktion aufrufen, und dadurch ist unser Programm wartungsfreundlicher und erweiterbar. In C++ erreichen wir das durch virtuelle Funktionen. Aber können wir Virtuelle Konstruktoren in C++

Library und Framework, was ist der Unterschied?

Frage ich viele erfahrene Java-Kollegen (teilweise Projektleiter!) „was denn der Unterschied zwischen einer Library und Framework sei?“, erhalte ich meistens die falsche Antwort: „Es ist eine Sammlung von Bibliotheken die ein bestimmtes Thema umfassen.“.

Bessere Schnittstellen

Letztens hatte ich in einer Klasse eine Methode überschrieben, um zu verhindern, das ein bestimmter Wert unterschritten wird. public class FontPreviewPanel extends JPanel { … @Override public void setSize(Dimension d) { if (d.width <= 0) d.width = 1; if (d.height <= 0) d.height = 1; super.setSize(d); } } Die Maßnahme zeigte auch seine gewollte Wirkung. Bessere Schnittstellen