私は最近、ジョーの本を読み終えましたが、とても楽しかったです。それ以来、erlang を使用してソフト リアルタイム アプリケーションのコーディングを開始しましたが、gen_server の使用について少し混乱していると言わざるを得ません。
単純なステートレス モジュールの代わりに gen_server を使用する必要があるのはいつですか? 私はステートレス モジュールを次のように定義します。
インボイス マネージャー タイプのモジュールの場合、初期化して状態を返す必要がありますか? SomeState = InvoiceManager:Init()、SomeState = InvoiceManager:AddInvoice(SomeState, AnInvoiceFoo)。
請求書マネージャーの状態の複数のインスタンスが必要だとします (私のアプリケーションは、それぞれ独自の請求書を持つ複数の会社を管理しているとします)。それぞれが請求書を管理するための内部状態を持つ gen_server を持っている必要がありますか、それとも単にステートレス モジュールを使用する方が適切でしょうか?その上?
両者の境界線はどこにあるのでしょうか?
(上記の請求書管理の例は、私の質問を説明するための例です)