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