Grundsätzlich verwenden Sie virtuelle Memberfunktionen in einer Klasse und/oder Vorlagenparameter, wie Anpassungspunkte.
Für Laufzeit-Polymorphismus (virtuelle Member-Funktionen) dies die open/closed principle genannt wird, nach Betrand Meyer:
” Eine Klasse geschlossen ist, da sie in einer Bibliothek gespeichert erstellt werden können , Baseline, und von Client-Klassen verwendet. Es ist jedoch auch offen, da jede neue Klasse es als übergeordnetes Element verwenden und neue Features hinzufügen kann. Wenn eine Nachkommenklasse definiert ist, ist es nicht erforderlich, das Original zu ändern oder seine Clients zu stören.
Für Ihren speziellen Fall wäre es natürlich ein “ Umwandlungsverfahren darzustellen ” als ein Objekt, das Sie auf einen allgemeinen Text-Datei-Konverter Funktors Objekt übergeben, die dann die es intern verwendet. Alternativ kann die “ Konvertierungsmethode ” eine virtuelle Funktion auf letzterer sein. Auf diese Weise ein Verfahren mit Anpassungspunkte der Bereitstellung wird die template method pattern genannt.
Hinweis: das Wort “ Vorlage ” in “ Template-Methode Muster ” bezieht sich nicht auf C++ Vorlagen, sondern eher auf den Begriff des kundengerechten Verfahrens als Vorlage für jede konkrete Anpassung.
Suchen Sie [guide] (https://msdn.microsoft.com/en-us/en-en/library/ms235636.aspx) wie das? Sie fragen nicht ganz klar ist, werden für die Möglichkeiten suchen, wieder verwendbare Code-Basis für die Erstellung, die oder unplugged aus Kern gesteckt werden kann, oder vielleicht ein Muster incapsulating einen Kern functuionality? – Aristarhys