Erlang:在同一个模块中定义了多个行为?

时间:2009-12-03 18:46:06

标签: erlang

:我想知道在同一模块文件中定义多个行为的优缺点。

E.g。

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

使用这种布局,我可以保存模块文件,同时在可维护性方面没有太多损失(整个应用程序通过someapp_sup:start()启动)。

1 个答案:

答案 0 :(得分:17)

只要行为中定义的回调不与另一个行为的回调冲突(例如,你定义了自己的行为),那么除了可能更令人困惑的代码之外,这样做没有任何问题。显然你可以用一些好的评论来遏制它,并在文件中合理地放置代码。