TOPICS
#12
Factory Method
Move the `new` behind one overridable method, so a subclass decides which class gets built and callers depend only on the shared type.
12 min
#13
Abstract Factory
Group a family of related products behind one factory object, so a single startup choice swaps the whole set and a mismatched combination can never compile.
12 min
#14
Builder
Replace a positional constructor with an object that collects named steps and a closing build() call, so every value is labeled where you read it, validation runs before the object exists, and the same step sequence can assemble different products.
12 min
#15
Singleton
Separate the two promises Singleton bundles, one instance and a global access point, so you keep the single object but hand it in through constructors instead of a static getter that nothing declares.
10 min
UNLOCKS