Design Patterns

Design Patterns
3h 59m

In this course, we will learn the concepts of microservice and spring framework with a focus on design patterns.

Learning Objectives

  • Learn about various design patterns

Intended Audience

  • Beginner Java developers
  • Java developers interested in learning how to Build and Deploy RESTful Web Services
  • Java Developers who want to develop web applications using the Spring framework
  • Java Developers who want to develop web applications with microservices
  • Java Developers who wish to develop Spring Boot Microservices with Spring Cloud


  • Basic Java knowledge

Hello, dear friends. In this video, we will examine Design Patterns. So, let's begin. Software design patterns are common solutions to problems which are regularly encountered in programming. These particular patterns deal with object-oriented programming exclusively. So, applying these patterns to say, a functional environment is a thoroughly bad idea. Some pattern proponents even go so far as to say that in the object-oriented world, these design patterns are full-fledged best practices, though I often stop short of such an assertion. The patterns I'll be describing in this series originate from a book titled appropriately enough, Design Patterns, Elements of Reusable Object-oriented Software, written by a group of authors who have come to be known as The Gang of Four or GOF.

Some of the benefits of using design patterns are: Design patterns are already defined and provides industry-standard approach to solve a recurring problem. So it saves time if we sensibly use the design pattern. There are many Java design patterns that we can use in our Java-based projects. Using design patterns promotes reusability, that leads to more robust and highly maintainable code. It helps in reducing total cost of ownership, TCO, of the software product. Since design patterns are already defined, it makes our code easy to understand and debug. It leads to faster development and new members of team understand it easily. According to GOF, design patterns are classified in three groups: creational, structural, behavioral. For example, abstract factory, singleton, or prototype are creational design patterns;  adapter, composite, or facade are structural patterns, and observer, iterator, and visitor patterns are behavioral patterns. In the following videos, we will start examining design patterns by implementing Java projects. In the next video, we will start by looking into the singleton design pattern. So, I'll see you in the next video.


About the Author
Learning Paths

OAK Academy is made up of tech experts who have been in the sector for years and years and are deeply rooted in the tech world. They specialize in critical areas like cybersecurity, coding, IT, game development, app monetization, and mobile development.