Все это сводится к тому, кого вы кодируете и какова общая цель. Если вы хотите убедиться, что у класса заголовка может быть только один экземпляр, необходимо записать его как Singleton, чтобы гарантировать, что он создается только один раз. Однако, если вы не хотите ограничивать это таким образом, нет смысла записывать его как одиночный.
Ваш вопрос отвечает сам на себя. Если вы кодируете что-то, что будет использоваться другими, и его функциональность зависит только от одного экземпляра, то закодируйте его как одиночный код. Если вы хотите, чтобы он оставался открытым, и это не влияет на функциональность кода, если существует более одного экземпляра, оставьте его как есть. Если вы пишете это для себя, то вам решать, как вы хотите его использовать.
Подводя итог. Синглтон ПОДТВЕРЖДАЕТ, что создан только один экземпляр. Это следует использовать только тогда, когда важно никогда не иметь более одного экземпляра вашего класса.