2009-12-03 12 views
12

Q: Mi piacerebbe avere un'idea dei pro e contro della definizione di più comportamenti nello stesso file di modulo.Erlang: comportamenti multipli definiti nello stesso modulo?

E.g.

-module(someapp_sup). 
-behavior(supervisor). 
-behavior(application). 

Utilizzando questo tipo di aspetto, posso salvare un file di modulo pur non perdendo molto sul lato manutenibilità (l'intera applicazione viene avviata attraverso someapp_sup:start()).

+0

+1, mi stavo chiedendo lo stesso, anche se questa è una pratica molto confusa. – Dacav

risposta

15

Fintantoché i callback definiti nel comportamento non sono in conflitto con un callback di un altro comportamento (ad esempio definito il proprio comportamento, ad esempio), non c'è nulla di sbagliato nel fare altro che codice potenzialmente più confuso. Ovviamente si può arginare questo con alcuni commenti ben piazzati e stendere il codice sensibilmente nel file.

+5

Esattamente. Puoi trattare i comportamenti allo stesso modo delle interfacce nel mondo OO. – Zed

+0

Questo è quello che pensavo ma volevo controllare con un pubblico più esperto. Grazie ragazzi! – jldupont

Problemi correlati