Monaden und Decorator-Muster

8

Ich bin neu in der funktionalen Programmierung. Während ich ein Tutorial über Monaden befolgte, konnte ich es als die Analogie des Decorator-Musters in OOP betrachten. Habe ich Recht, oder gibt es ein Entwurfsmuster, das den Monaden sehr ähnlich ist?

    
Prasad Weera 04.09.2012, 08:40
quelle

3 Antworten

7

Monaden sind definitiv keine Dekorateure. Es gibt kein herkömmliches OOP-Muster, das eine direkte Analogie zu Monaden ist. Obwohl Sie Monaden in OOP einfach implementieren können, siehe z. B .:

Das beste Clojure-basierte Monaden-Tutorial, das ich kenne, ist diese Videoserie von Brian Marick:

Ich schlage vor, es durchzusehen - es ist eine ziemlich gute Einführung mit vielen Beispielen.

    
mikera 04.09.2012, 13:17
quelle
1

Sie können anfangen, über Monaden als über "überschreibbare Semikola" zu denken, wegen der bekannten Syntax-Zucker in Haskell

im Allgemeinen bedeutet das, dass Sie dieselbe Kontrollstruktur (Codeblock) haben können, die unterschiedliche Dinge macht, abhängig davon, welche Monade gerade verwendet wird

qick Beispiel in Haskell

%Vor%

wird in GHCI ausgeführt, es wird

angezeigt %Vor%

Wie Sie sehen können, erzeugt derselbe Codeblock unterschiedliche Ergebnisse - Liste in einem Fall und vielleicht in einem anderen Fall, in die entsprechende Datenstruktur eingepackt.

    
jdevelop 04.09.2012 13:28
quelle
-1

Monaden sind wie ein function composition on steroids und es gibt kein ähnlich starkes Konzept in der OO-Welt.

    
Ankur 04.09.2012 09:31
quelle

Tags und Links