Design Patterns in Practice

Request this training now

Help developers understand and apply key object-oriented design patterns to build scalable, maintainable, and flexible software systems.

Who Should Enroll:

  • Mid-level developers and tech leads
  • Software engineers interested in system design

Prerequisites: 
Basic knowledge of programming and software development practices

Trainer:
Rasan Samarasinghe (Profile)

Training Fee:
Rs. 15,000.00 per participant (Method of payment)

Delivery: 
Online with live sessions or self-paced

Duration: 
18 hours

Medium: 
English

Certification:
Digital certification with the transcript upon completion

Course Modules & Structure:

1: Introduction to Design Patterns
  • What are design patterns?
  • History and significance (Gang of Four – GoF)
  • Principles of reusable object-oriented design (SOLID)
  • Categories: Creational, Structural, Behavioral
2: Creational Patterns
  • Singleton: Managing shared instances
  • Factory Method: Creating objects without specifying the exact class
  • Abstract Factory: Families of related objects
  • Builder: Constructing complex objects step-by-step
  • Prototype: Cloning existing objects
    Hands-on: Build a configuration manager using Singleton
3: Structural Patterns
  • Adapter: Bridging incompatible interfaces
  • Decorator: Dynamically adding behavior
  • Facade: Simplifying complex subsystems
  • Composite: Handling tree structures
  • Proxy: Controlling access to objects
    Hands-on: Use Decorator to add logging to services
4: Behavioral Patterns
  • Observer: Event-driven systems
  • Strategy: Defining interchangeable algorithms
  • Command: Encapsulating operations
  • State: Changing behavior based on internal state
  • Template Method: Defining algorithm skeletons
    Hands-on: Implement a simple event notification system
5: Applying Patterns in Real Projects
  • Choosing the right pattern
  • Avoiding anti-patterns and overengineering
  • Combining patterns (e.g., Factory + Strategy)
  • Pattern case studies from real-world applications
6: Testing & Refactoring with Patterns
  • Improving code testability with patterns
  • Refactoring legacy code using patterns
  • Code smells and design improvement
7: Final Capstone Project
  • Analyze a real-world scenario
  • Apply appropriate design patterns
  • Present and review solution architecture

Request this Training

We schedule our trainings based on the requests we receive. Whether you’re an individual or a team, fill out the form below to request this course. We’ll get back to you with available dates or a custom session – group or one-on-one. Learn more.