正如问题所说:在使用 Erlang 开发时,使用 OTP 设计原则有什么好处?
我正在开发一个只接收命令并发送响应的服务器。
正如 Jonas 所说,OTP 是一组久经考验的设计元素和习惯用法,用于创建容错系统等(如灵活性、实时更新等)。简而言之,您希望将它用于这些环境,或者可能发展成这些环境的环境,因为在 Erlang 中创建可靠、稳定的系统所付出的大量血汗和泪水都融入了 OTP 行为和架构。如果你不使用它们,你要么没有一个容错、灵活的系统,要么你将重新创建所有决策,一次一个失误和错误,最终创建相当于克隆的东西一次性密码。
所以问题真的是你什么时候不想使用 OTP?如果您不使用旨在长时间运行且中断最少的软件,则不需要 OTP。如果您已经有一个可以完成您更熟悉的工作的框架,则不需要 OTP。如果您想了解(也许是困难的方式)OTP 设计背后的决策,则不需要 OTP。如果学习 OTP 的成本(而且那里有成本!)超过了软件系统停机的成本,那么您就不需要 OTP。
熟悉 OTP 的原因和原因的最佳方法是OTP 设计原则用户指南。在没有直接说明推理的地方,您通常可以在字里行间阅读以发现每个组件的基本原理。
OTP 包含一些用于容错系统的良好设计模式,例如可能有趣的 gen_server 和监督。这取决于你想用 Erlang 做什么。
例如,如果你想运行一个网站,你可能会对使用Yaws感兴趣,如果你想要一个容错网站,你可能会使用带有 Yaws 的 OTP 进行监督。
OTP 还包含有用的行为模式。