Du könntest das Template Method Design Pattern einsetzen.
http://de.wikipedia.org/wiki/Schablonenmethode (siehe auch die englisch WP)
1.) in der Basisklasse wird der allgemeine Ablauf vorgegeben. Diese Methode ist public.
Delphi-Quellcode:
TBase = class
private
procedure Vorberechnung;
...
protected
procedure Phase1; virtual; abstract
procedure Phase2; virtual; abstract;
public
procedure DoSomething;
end;
procedure TBase.DoSomething;
begin
// ein fiktiver Ablauf
Vorbrechnung;
Phase1;
SaveData;
if bedingung then
Phase2;
end;
2.) die virtuellen Methoden Phase1 und Phase2 werden in den abgeleiteten Klassen überschrieben und bleiben protected.