The Factory lesson warns against overuse. A UserServiceFactory that only ever returns UserService, with no test double and no second implementation planned, adds a layer for zero benefit. The lesson calls that ceremony, not clean architecture.
The same goes for singletons. The Singleton lesson explains why many teams now treat the classic version as an anti-pattern. It hides dependencies and keeps state between tests. Most codebases get the one-instance behavior from a DI container instead.
Creational patterns pay off when creation really does vary: several providers, test fakes, regions, or feature flags. Outside those cases, plain construction is the better design.
Next, compare them with the patterns that wrap objects instead of building them, in structural design patterns. To walk through the payment factory one step at a time, the Factory Pattern lesson is the next step.