Erlang: несколько вариантов поведения определены в одном модуле? - PullRequest
14 голосов
/ 03 декабря 2009

Q : Я хотел бы получить представление о плюсах и минусах определения нескольких вариантов поведения в одном файле модуля.

* 1005 Е.Г. *

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

Используя этот вид компоновки, я могу сохранить файл модуля, не теряя при этом значимости с точки зрения удобства обслуживания (все приложение запускается через someapp_sup:start()).

1 Ответ

17 голосов
/ 03 декабря 2009

Пока обратные вызовы, определенные в поведении, не конфликтуют с обратным вызовом другого поведения (скажем, вы определили собственное поведение, например), тогда нет ничего плохого в этом, кроме потенциально более запутанного кода. Очевидно, что вы можете обуздать это с помощью некоторых хорошо размещенных комментариев и разумного размещения кода в файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...