Skip to main content

Command Palette

Search for a command to run...

What is a Design Pattern?

Published
1 min read
What is a Design Pattern?
A

I'm a passionate Software Engineer developing highly scalable and robust web applications using object-oriented programming techniques and design patterns, with hands-on experience including methodologies and best practices like Continuous Integration and Delivery, Clean Code, Test-Driven Development, Refactoring, N-tier Systems and Cloud based Distributed Applications under the Microservice Architecture.

A design pattern is a reusable solution that can be applied to commonly occurring problems in software development, think of them as templates for solving problems.

They're proven solutions that can be easily reused and provide solid approaches to solve issues in software development, they usually are an out-of-the-box solution that can be adapted to suit our own needs.

It's important to remember that they're not an exact solution, their function is to provide us with a solution scheme.

Design Patterns can be divided into several categories, we're going to dig into some of them and look at the most commonly used ones. For the examples, I'm going to use PHP, but the logic can be applied to any existing OOP language.

  • Creational Design Patterns

    • Constructor

    • Factory

    • Abstract

    • Prototype

    • Singleton

    • Builder

  • Structural Design Patterns

    • Decorator

    • Facade

    • Flyweight

    • Adapter

    • Proxy

  • Behavioral Design Patterns

    • Iterator

    • Mediator

    • Observer

    • Visitor

More from this blog

A

Ariel Orozco

16 posts

I'm a passionate Software Engineer that enjoys designing and implementing applications that leverage Cloud Services, Distributed Systems and Microservices.