Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
1. Jun 2017
Interface Methoden sind virtual (du mockst ja dann nicht mehr TWuppdi, sondern IWuppdi).
Fürs DelphiMocks oder andere gleichartige mocking libs musst noch {$M+} über das interface machen oder von IInvokable (gleicher Effekt) ableiten.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
1. Jun 2017
Müssen sie auch nicht - Beispiel:
type
TWuppdi = class // third party
public
procedure DoThings;
procedure DoOtherThings;
end;
IWuppdi = interface
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Stevie,
1. Jun 2017
In der (zumeist englisch sprachigen) Literatur zu dem Thema wird von seams also Nähten gesprochen, an denen man Anhängigkeiten (dependencies) entkoppeln kann. Diese geschieht in der Regel durch virtuelle Methoden oder Interfaces (deren Methoden alle virtuell sind). Es gibt natürlich auch Möglichkeiten, zu mocken, sollte man solche Nähte nicht haben, aber das ist mehr Hack als nützlich.
Ein...