There are three commonly used types of design patterns in software development: creational, structural, and behavioral. Let's define each of them.
Creational design patterns are concerned with the way of creating objects. These design patterns are used when a decision must be made at the time of instantiation of a class.
-- Factory Method.
-- Abstract Factory.
-- Singleton.
-- Prototype.
-- Builder.
-- Object Pool pattern.
Structural design patterns are those that simplify the design of large object
structures by identifying relationships between them. They describe common ways of composing classes and objects so that they become repeatable as solutions.
-- Adapter Pattern.
-- Bridge Pattern.
-- Composite Pattern.
-- Decorator Pattern.
-- Facade Pattern.
-- Flyweight Pattern.
-- Proxy Pattern.
In software engineering, behavioral design patterns are design patterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility in carrying out communication.
-- Iterator.
-- Command.
-- Observer.
-- State.
-- Strategy.
-- Chain of Responsibility.
-- Mediator.
-- Template Method.
Head of first
Videos with Arabic content:
https://www.youtube.com/playlist?list=PLd-dOEgzBpGnt3GuEszo_piQq52XSqAmj
Videos with English content:
https://www.youtube.com/playlist?list=PLCOO6j3cDu94FP8pMPOigpyy0XoQkdKBW