Il VCL è letteralmente pieno di implementazioni di pattern, molti dei quali sono usciti direttamente dal libro GoF stesso.
Penso che un problema che molte persone hanno nell'uso di Delphi è che Delphi consente a una classe con metodi astratti di essere compilata e utilizzata in fase di esecuzione purché i metodi astratti non vengano chiamati. L'unica cosa che è puramente astratta sono le interfacce. Tutto il resto necessario per l'ereditarietà delle classi e il supporto di più interfacce funziona con Delphi, quindi non vedo davvero come avresti difficoltà a implementare QUALSIASI Pattern GoF. Non ho mai avuto alcuna difficoltà nei 14 anni che uso la lingua.
Per quanto riguarda l'ereditarietà multipla, che cosa ha a che fare con i pattern? L'ereditarietà multipla è piena di problemi concettualmente, in particolare se si sta tentando di implementare un discendente di due classi che presentano interfacce in cui esistono metodi identici con implementazioni leggermente differenti. Quale verrebbe utilizzato e come sceglieresti? Le interfacce risolvono questo problema in modo molto elegante in quanto è possibile utilizzare molte interfacce in un'implementazione a classe singola e a diversi livelli dell'ascendenza di una classe.
Se hai problemi nell'implementare modelli specifici, forse una domanda su ProgrammersSE con qualche codice di esempio ti aiuterà a capire meglio come superare un particolare problema in Delphi. Sono sicuro che farebbero grandi domande.
Saluti,