Design Patterns Certification Training


Programme Description

Design Patterns Certification Training


An online course designed to give you an understanding of Design Patterns, to enhance your skills, aiming to be an efficient Software Architect and develop some highly scalable and maintainable applications.

Edureka's Design Patterns course aims to help you appreciate the idea behind Design Patterns. Since each Design Pattern provides the way to handle common problems faced during building an application, having a knowledge of Design Patterns in your arsenal will certainly help you become a better Programmer or Developer. In this course, we cover each pattern from scratch. This course covers all pattern types from Creational to Structural, Behavioral to Concurrency. This course highlights the scenarios when you should choose one pattern over others.

Using a pattern sometimes leads to negative consequences, we talk about Anti Patterns to handle those situations. You will also learn to make your code cleaner by refactoring the code. At the end of the course, we will create a real-world application where we will incorporate the patterns that we have learned throughout the course.

Course Objectives

After the completion of Design Pattern course at Edureka, you will be able to:

  1. Create great software designs that are scalable and easily maintainable
  2. Understand the best use of Object Oriented concepts for creating truly OOP programs
  3. Use creational design patterns in software design for class instantiation
  4. Use structural design patterns for better class and object composition
  5. Use behavioral patterns for better organisation and communication between the objects
  6. Use anti-patterns for reversing the underlying causes of design problems and implementing productive solutions
  7. Use refactoring to compose the methods for proper code packaging
  8. Use refactoring to better organise the class responsibilities of current code

Who should go for this course?

This course is designed for software programmers and architects who are looking for ways to improve the existing designs or create better designs of software projects. This course is extremely comprehensive and addresses different types of complex design problems and the methods to handle them.


The only prerequisite for learning Design Patterns is the knowledge of the Object Oriented Programming concepts.

Project Work

Application Definition Statement:

  1. Create a Retail Store complex management system for an urban development authority in a major city
  2. The city's urban development authority has multiple shopping complexes across the city
  3. Each complex needs to be managed by its own management entity
  4. The urban development authority manages all the complexes in the city using these complex management systems

Here's a brief description of each class:

1) Store complex

The Store complex is either an applet or application. The store complex performs the creation of a set of different stores, such as a bookstore, a shoe store, an electronic games store, etc. The complex greets an arriving customer and allows the customer to shop in any of the stores.

Some of the things a customer can do at the complex are:

  • Get a list of available stores
  • Enter a store
  • Get the list of the items for sale at the store
  • Add items to the shopping cart
  • Proceed to the checkout and purchase the items

2) Store

Abstract superclass for a store

3) BookStore

A possible subclass of Store

4) ShoeStore

A possible subclass of Store

5) GameStore

A possible subclass of Store

6) Item

An item for sale in a Store

7) Customer

Notable Attributes:

  • Name - the name of the customer
  • ShoppingCart - the shopping cart being used by the customer
  • Store - the store the customer is currently in

8) ShoppingCart

A shopping cart for the customer

Notable Attributes:

Items - items currently in the shopping cart

What will you learn?

  1. To bring together key design pattern concepts in a single application
  2. To expose some common design problems that come up while designing such big software systems having communicating components
  3. To present some design choices based on the data/design of the application

Why learn Design Patterns?

Object Oriented Programming is one of the biggest evolution ever happened to the software industry. Lots of languages started implementing OOP concepts thinking it would add a lot of value and will improve the adaptability of the languages. While the OOP provides the concepts, programming languages still lack the essence that is needed for better software design. Design patterns fill the gap by providing solution templates for commonly occurring design problems. As any other software entity, Design Patterns is an evolving subject and it has reached its extreme maturity now by covering most of the design problems that the current software industry is facing. Practicing design patterns have helped the success ratio of software projects these days immensely. Design patterns have become a magic wand in the hands of successful software programmers and architects.

This school offers programs in:
  • English

Last updated February 15, 2018
Duration & Price
This course is Online
Start Date
Start date
Open Enrolment
Part time
199 USD
India - India Online
Start date : Open Enrolment
Application deadline Request Info
End date Request Info
Open Enrolment
India - India Online
Application deadline Request Info
End date Request Info