Adaptor-Pattern mit Ocaml's Module System (Re: [linux-l] Ocml vs. Java)

Volker Grabsch vog at notjusthosting.com
Fr Sep 23 15:52:14 CEST 2005


On Fri, Sep 23, 2005 at 08:26:01AM +0200, Oliver Bandel wrote:
> Selbst in OO-Sprachen geht das also. Donnerwetter. ;-)
> 
> Na, dann erübrigt sich das folgende ja fast... aber nun bringe ich das
> noch zu Ende. :)

Was soll diese Arroganz? Ich habe dir doch gesagt, dass es einfach ist.

> > Es ist mehr ein notwendiges Übel,
> > und das Muster sagt nur, dass du's einfach machen sollst, statt deinen
> > gesamten Code auf das fremde Interface umzumuddeln.
> 
> Eben.

Ja, genau! Es ist ein so einfaches Muster, dass man es überall anwenden
kann, nicht nur im OO-Bereich, und man braucht auch keine abgefahrenen
syntaktischen Möglichkeiten dafür. In einer funktionalen Sprache kann
man *natürlich* auch Wrapper/Adapter, und Singletons, etc. schreiben.
Sogar z.T. fast genauso wie in eine OO Sprache. Genau das meine ich.

Du findest diese Muster überall, und deshalb verstehe ich nicht, wieso
du sie als antiquiert bezeichnest. Du hast doch genau dieses Muster
auch bei Ocaml angewendet. Das heißt doch, dass dieses Muster wichtig
ist. Du hast das Problem (Onterface anpassen) genau so gelöst, wie
es im Buch steht: Durch einen Wrapper.

[..]
> Wie man sieht sind die Module alle selben Typs.
> Adaption gelungen. :)
> 
> Kein OO notwendig.
> Design Pattern mit Modul System erschlagen.

In OO Sprachen kann man Adapter genauso schnell zusammen-schreiben.
In Python, Smalltalk, etc. wird das Problem genauso von OO "erschlagen".

> Kein besonderer Aufwand.

Sag ich doch! Also ist dieses Muster allgemeingültig, und überall
im Software-Design anwendbar. Es wird von OO-Sprachen komplett erschlagen.
Dass man Wrapper auch in funktionalen Programmiersprachen implementieren
kann, das weiß ich selbst!

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l