0
0
LldConceptBeginner · 3 min read

Creational Design Pattern: Definition and Usage Explained

A creational design pattern is a way to create objects in a flexible and reusable manner. It helps manage object creation to make code easier to maintain and extend by controlling how objects are made and connected.
⚙️

How It Works

Imagine you want to build different types of houses, but you don't want to write the full instructions every time. A creational design pattern acts like a blueprint or a factory that knows how to create these houses for you. Instead of creating objects directly, you ask the pattern to make them, so the process is organized and easy to change.

This pattern separates the creation logic from the main code, so if you want to change how objects are made, you only update the creation part. It’s like ordering coffee from a barista instead of making it yourself every time; the barista knows the recipe and can make different drinks on demand.

💻

Example

This example shows a simple factory pattern that creates different types of vehicles based on input.

javascript
class Vehicle {
    constructor(type) {
        this.type = type;
    }
    info() {
        return `This is a ${this.type}`;
    }
}

class VehicleFactory {
    createVehicle(type) {
        return new Vehicle(type);
    }
}

const factory = new VehicleFactory();
const car = factory.createVehicle('Car');
const bike = factory.createVehicle('Bike');

console.log(car.info());
console.log(bike.info());
Output
This is a Car This is a Bike
🎯

When to Use

Use creational design patterns when your code needs to create objects in a flexible way without specifying exact classes. They are helpful when:

  • You want to hide complex creation logic from the main code.
  • You need to create different types of objects based on conditions.
  • You want to make your code easier to extend and maintain.

For example, in a game, you might use a creational pattern to create different characters or weapons without changing the main game logic.

Key Points

  • Creational patterns focus on object creation mechanisms.
  • They help make code more flexible and reusable.
  • Common types include Factory, Singleton, Builder, and Prototype.
  • They separate object creation from usage.

Key Takeaways

Creational design patterns simplify and organize object creation.
They help keep code flexible and easy to maintain.
Use them when object creation logic is complex or varies.
Common patterns include Factory and Singleton.
They separate how objects are made from how they are used.