Types of Design Patterns
Design patterns are reusable solutions to commonly occurring problems in software design. They provide a way to share best practices and improve the quality and maintainability of code.
Creational Patterns
- Factory Method: Defines an interface for creating an object, but lets subclasses decide which class to instantiate.
- Abstract Factory: Provides an interface for creating families of related objects without specifying their concrete classes.
- Singleton: Ensures that only one instance of a class is created.
- Builder: Separates the construction of a complex object from its representation, allowing for different representations to be built from the same construction process.
- Prototype: Creates new objects by copying an existing object.
Structural Patterns
- Adapter: Converts the interface of a class into another interface clients expect.
- Bridge: Decouples an abstraction from its implementation, allowing them to be changed independently.
- Composite: Composes objects into tree structures to represent part-whole hierarchies.
- Decorator: Attaches additional responsibilities to an object dynamically without changing its structure.
- Facade: Provides a unified interface to a set of subroutines.
- Flyweight: Reduces the number of objects in a program by sharing common objects.
- Proxy: Provides a surrogate or placeholder for another object to control access to it.
Behavioral Patterns
- Chain of Responsibility: Passes requests along a chain of objects to give multiple objects the opportunity to handle it.
- Command: Encapsulates a request as an object, allowing clients to parameterize, queue, and undo requests.
- Interpreter: Defines a grammar for interpreting a language and provides an interpreter to execute the grammar.
- Iterator: Provides a way to access the elements of an object sequentially without exposing the underlying representation.
- Mediator: Defines an object that encapsulates how a set of objects interact.
- Observer: Defines a one-to-many dependency between objects, so that when one object changes state, all its dependents are notified and updated automatically.
- State: Allows an object to alter its behavior when its internal state changes.
- Strategy: Defines a family of algorithms, encapsulates each one, and makes them interchangeable.
- Template Method: Defines the skeleton of an algorithm in a method, deferring some steps to subclasses.
- Visitor: Allows an operation to be performed on the elements of an object structure without changing the structure itself.
Also Read: Characteristics Of Rational Expressions
Recommend: Is A Scooter Rental Business Profitable
Related Posts: What Is The Difference Between Rmi And Rpc
Also Read: How Do You Make A New Google Account
Recommend: When Is Nba 2K21 Coming Out