>>106920989
>That literally decouples resource acquisition and initialization.
A factory function with a private constructor doesn't necessarily decouple resource acquisition & initialization. The factory can couple them by doing all the heavy lifting before returning, or it can decouple them by returning a "blank" object. It's an architectural choice, not an enforced pattern.