What are Design Patterns in General:
Description of communicating objects and classes that are customized to solve a general problem in a particular way.
Why design pattern required:
1 - Design pattern help to speed up the development,
2 - The templates are proven and from the developer's position, the Only implementation is required
3- Encapsulate big ideas in a simpler way
4 - Each pattern describes a problem which occurs over & over again,
Design Pattern Inforces SOLID Principles:
SOLID is an acronym that stands for the following:
- Single responsibility principle
- Open/closed principle
- Liskov substitution principle
- Interface segregation principle
- Dependency inversion principle
Categorization of GOF(Gang of Four Design Patterns)
- Creation - Used to construct objects such that they can be decoupled from their implementation system.
i.e in one class, we put business logic & in another class create the instance of it.
- Structural - Used to form large object structure between many disparate objects
-Behavioural - Used to manage algorithms, relationships, and responsibilities between objects
Design Patterns with Drupal 8 :
Drupal 8 is all about object-oriented PHP and contains concepts like,
- Dependency Injection
- Service Container
- Factory Methods
- PHP Traits
- Discovery Methods
- Strategy Pattern
- Singleton Pattern
Design Pattern is 4 Types:
1 - Singleton Design Pattern
2 - Factory Design Pattern
3 - Mediator Design Pattern
4 - Dependency Injection
1-Singleton Design Pattern(The Creational Pattern):
Singleton Pattern which does not allow to create more than one instance of it.
- It boosts performance by not allowing the creation of multiple objects to avoid the consumption of more memory by creating multiple objects.
- Since the class controls the instantiation process, the class has the flexibility to change the instantiation process
- Ease of Implementation
2- Factory Design Pattern(The Creational Pattern)
The Factory Method defines a method, which should be used for creating objects instead of a direct constructor call. The subclass can override this method to change the class of objects that will be created.
Example: The factory method allow us to create an instance of the class by through the method, Instead of direct object creation.
3-Mediator Design Pattern (The behavioral Pattern)
The mediator is a behavioral design pattern that reduces coupling between components of a program by making them communicate indirectly, through a special mediator object.
Example: When we post a letter to someone, Then the postman is the mediator only who receives the latter & deliver the destination.
Drupal 8 Example: Event & subscriber
4-Services & Dependency Injection in Drupal 8 :
Drupal 8 Introduces the concept of services to decouple reusable functionality and makes these services pluggable & replaced by registered them with a service container.
Services are used to perform operations like accessing the database, sending mail, etc
Comments
Post a Comment