Implementieren von Schnittstellen in Erlang

9

Wie implementiert man eine Schnittstelle in Erlang? Wie ist die Struktur der Module oder wie ist sie aufgebaut?

Ich habe eine geschichtete Architektur und möchte die Schnittstellen in jeder Ebene implementieren. Erlauben der Schicht, die die untere Schicht benötigt, um eine Aufgabe zu bearbeiten, um auf diese Aufgaben zuzugreifen oder sie aufzurufen.

Wie würde dieses Schnittstellenmodul hinsichtlich der Funktionalität aussehen?

    
jarryd 07.11.2010, 20:12
quelle

2 Antworten

3

Eine Schnittstelle im Sinne einer Java-Schnittstelle oder einer ML-Modul-Signatur existiert in der dynamisch typisierten Erlang-Welt nicht. Sie müssen das Verhalten in einem Kommentar dokumentieren oder einen speziellen Vertrag für den Dialysator bereitstellen.

Im Allgemeinen ist der beste Weg, sich einer Sprache zu nähern, indem man nicht voraussetzt, dass man sein vorhandenes Wissen zu sehr in sie einordnen kann, es sei denn, man kennt eine Sprache, die in Begriffen "nahe" ist. Sprachen in der Nähe von Erlang sind Prolog und Scheme. Weiter kommt Python und Ruby, aber ihre Abhängigkeit von einem OOP-Design bringt sie in den Horizont. Alles statisch Getippte, Ocaml, Haskell, Java, C #, C ++ usw. sind definitiv jenseits des Horizonts.

    
I GIVE CRAP ANSWERS 09.11.2010, 00:39
quelle
-2

Das nächste Konzept in Erlang ist benutzerdefiniertes Verhalten . Sie werden jedoch eher selten verwendet. Beachten Sie, dass das einzige, was überprüft wird, Existenz und Arität der Funktionen ist. Sie können nicht testen, dass das Modul tatsächlich etwas Verhalten implementiert; Sie rufen nur die Callback-Funktionen auf und wenn das Modul zufälligerweise Funktionen mit demselben Namen exportiert, haben Sie kein Glück.

    
Alexey Romanov 07.11.2010 20:47
quelle

Tags und Links