Да.
Во-первых, вы вполне можете поставить себя в угол для любой расширяемости, в зависимости от реализации singleton.Во-вторых, дизайн, вероятно, не будет очень чистым, если говорить о статических синглетонах повсюду.В-третьих, модульное тестирование будет либо затруднено, либо не будет воспроизводить фактическое использование класса, или то и другое.В-четвертых, решают ли проблемы с дизайном наличие синглетонов?Если вы просто пытаетесь сэкономить на ресурсах, я бы просто забыл об этом.