: Ensures a class has only one instance and provides a global point of access to it (though often considered an anti-pattern if overused).
: Focus on object creation mechanisms to decouple your system from how its objects are created and represented. Mastering PHP Design Patterns
: Focus on communication between objects, defining how they interact and distribute responsibility. : Ensures a class has only one instance
: Defines an interface for creating an object but lets subclasses decide which class to instantiate. often referred to as the patterns.
: Enables selecting an algorithm's behavior at runtime. Architectural Patterns in PHP
Design patterns are traditionally divided into three main groups, often referred to as the patterns.