一.什么是behavior?
使用erlang编程的人都知道OTP,而OTP里面创建进程的时候,常用的有四大behaviour, supervisor、gen_server、gen_fsm、gen_event。什么是behaviour?他是做什么用?
首先,写这篇文章之前我上谷歌查过人家对behavior的定义,当然,非官方,我一直没找着官方定义,如果有人有一个比较确切的定义,麻烦告诉我,大家共同学习嘛。
http://stackoverflow.com/questions/6488002/how-to-define-customized-behavior-in-erlang-and-what-can-it-do-for-you 在这篇文章中指明了,在erlang 的编译器中,behavior的作用是用来定义一个规约。定义好这个规约之后,任何遵守这个规约的模块,必须按照规约中的要求,使用-export([ ]). 导出对应的函数,导出完这些函数后,这些导出函数的调用由behaviour统一支配。为什么要这么做呢?参照一句话:
TheOTP Design Principles is a set of principles for how to structure Erlang code in terms of processes, modules and directories.
这句话来自官方文档OTP设计原则的第一句话。那么,behavio