Поскольку Erlang не является действительно объектно-ориентированным, реального одноэлементного класса не существует, но я думаю, что зарегистрированный процесс можно использовать как один.
Является ли хорошей практикой использование зарегистрированных процессов для этого внутри приложения длясделать доступ проще?Недостаток: я вижу, что, например, вы не можете запустить более одного экземпляра такого приложения в одном узле.
Возьмите в качестве примера приложение графического интерфейса пользователя с процессом, управляющим событиями, и некоторым другим, ответственным за звук.Было бы хорошей практикой сделать эти два "синглтона" зарегистрированными процессами и называть их как sound:play(file_name)
вместо хранения pid и выполнения sound:play(Pid, file_name)
?