问:我想了解在同一模块文件中定义多个行为的优缺点.
例如
-module(someapp_sup).
-behavior(supervisor).
-behavior(application).
Run Code Online (Sandbox Code Playgroud)
使用这种布局,我可以保存模块文件,同时在可维护性方面没有太多损失(整个应用程序启动someapp_sup:start()).
rfu*_*duk 17
只要行为中定义的回调不与另一个行为的回调冲突(例如,您定义了自己的行为),那么除了可能更容易混淆的代码之外,执行此操作没有任何问题.显然你可以用一些好的评论来遏制它,并在文件中合理地放置代码.