Da Erlang nicht wirklich objektorientiert ist, gibt es keine echte Singleton-Klasse, aber ich denke, dass ein Prozess, der registriert ist, als solcher verwendet werden kann.
Ist es eine gute Praxis, registrierte Prozesse innerhalb einer Anwendung zu verwenden, um den Zugriff einfacher zu machen? Ein Nachteil, den ich sehe, ist beispielsweise, dass Sie nicht mehr als eine Instanz einer solchen Anwendung innerhalb eines Knotens ausführen können.
Nehmen Sie als Beispiel eine GUI-Anwendung mit einem Prozess, der die Ereignisse verwaltet, und einem anderen, der für den Sound verantwortlich ist. Wäre es eine gute Praxis, diese beiden "Singletons" als registrierte Prozesse zu definieren und sie wie sound:play(file_name)
aufzurufen, anstatt die PID zu speichern und sound:play(Pid, file_name)
zu verwenden?