🌱Aadam's Garden


Search IconIcon to open search

Software Design Patterns - Best Practices for Software Developers

Last updated Aug 14, 2022

Source:: Software Design Patterns: Best Practices for Software Developers - Learn Interactively (educative.io)

Course Overview

Being good at problem-solving is one thing but to take your career to the next level, one must know how complex software projects are architected. Software design patterns provide templates and tricks used to design and solve recurring software problems and tasks. Applying time-tested patterns result in extensible, maintainable and flexible high-quality code, exhibiting superior craftsmanship of a software engineer. Being well-versed in knowledge of design patterns allows one to spot brittle and immature code from miles away. The course goes to great lengths to lay bare the esoteric concepts of various design patterns before the reader and is replete with real-world examples and sample code. The readership for this course is expected to be familiar with some object orientated language. The course examples and snippets are written in the Java language but folks with experience in other OOP languages should easily be able to follow the discussion and code intent.

Course Content


  • Introduction
  • Types of Design Patterns

Creational Patterns

  • Builder Pattern
  • Singleton Pattern
  • Prototype Pattern
  • Factory Method Pattern
  • Abstract Factory Pattern

Structural Patterns

  • Adapter Pattern
  • Bridge Pattern
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Flyweight
  • Proxy Pattern

Behavioral Patterns

  • Chain of Responsibility Pattern
  • Observer Pattern
  • Interpreter Pattern
  • Command Pattern
  • Iterator Pattern
  • Mediator Pattern
  • Memento Pattern
  • State Pattern
  • Template Method
  • Strategy Pattern
  • Visitor Pattern

The End

  • Summary
  • Epilogue