2009-12-03 19 views
12

Q:私は、同じモジュールファイル内に複数の動作を定義することの賛否両論について考えてみたいです。Erlang:複数の動作が同じモジュールで定義されていますか?

など。レイアウトのこの種を使用して

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

、私は(アプリケーション全体がsomeapp_sup:start()を通じて開始された)保守側の多くを失うことはないながら、モジュールファイルを保存することができます。

+0

+1、私は同じことを思っていましたが、それは非常に混乱することです。 – Dacav

答えて

15

ビヘイビアで定義されたコールバックが、別のビヘイビアのコールバックと競合しない限り(たとえば、独自のビヘイビアを定義したとします)、混乱させる可能性のあるコード以外では何も問題ありません。明らかに、いくつかのコメントを置いて、コードを賢明にファイルに埋め込むことで、これを抑制することができます。

+5

正確です。あなたは、OO世界のインターフェースと同じように行動を扱うことができます。 – Zed

+0

それは私が自分自身と思っていたものですが、知識の豊富な人と確認したかったのです。みんなありがとう! – jldupont

関連する問題