One Door Problem

A colleague proposes using a Singleton for a logging service, arguing that there should only ever be one logger. Which of the following is the strongest design argument against this approach?

A

Singletons violate the Open-Closed Principle because you cannot extend them

B

Singletons use heap memory, which is slower than stack allocation

C

Singletons introduce hidden global state and make unit testing difficult

D

Singletons are incompatible with multithreaded programs