Spring Design Patterns and Best Practices [Video]

More Information
  • How to create a Spring project from the ground up
  • Why design patterns are important
  • Never call a constructor again! How to use the Factory pattern and Spring auto-wiring to create objects
  • Leverage the command pattern to future-proof software
  • Take advantage of Spring's minimal-configuration deployment
  • Add behavior to existing compiled classes with Aspect Oriented Programming
  • Use Model-View-Controller to separate user interface, business logic, and data access logic
  • Consider how to leverage existing business and data logic with a different user interface

This video will take you through Design Patterns and considerations required with the Spring framework. You will learn to use these design patterns to solve common problems when designing an application or system using the Spring Framework. This video will not only take you through ten of the essential GoF Design Patterns but also categories of patterns, considerations, and best practices required at different stages of Application Development.

Design Patterns help us write software that is flexible and future-proof. If you’re overusing if tests, you are probably not writing a well-designed object-oriented program. You will see how to use several design patterns, instead of if tests, to write a program where logic resides in an optimal location. The examples in this course use the command pattern, decorator pattern, visitor pattern, and several others.

You will understand the Dependency Injection pattern that is the main principle behind the decoupling process that Spring does, thus making it easier to manage your code. With practical examples, you will understand how patterns listed under the GoF patterns can be used in your Application Design. You will be introduced to the MVC pattern and how it treats controllers as Plain Old Java Objects, thus making it easier for testing the controllers. You will then learn about the Factory Method, and how it relates to one of the core components of object-oriented design: polymorphism.

The code bundle for this course is available at https://github.com/PacktPublishing/Spring-Design-Patterns-and-Best-Practices

Style and Approach

This is a step-by-step approach which shows you the best way to use the Spring Framework to solve common problems when designing an application.

  • Solve common problems while designing an application or system in the Spring framework
  • Manage and test your code easily with Spring's Dependency Injection pattern
  • Understand the benefits that the right design patterns can offer your toolkit
Course Length 7 hours 34 minutes
ISBN 9781788291897
Date Of Publication 29 Apr 2018


Brandan Jones

Brandan Jones has been an Adjunct Assistant Professor for the University of Cincinnati since the 2000-2001 school year. He has taught many courses in programming, from introductory programming to full-stack development.

Brandan proposed and created the first Android programming course at the University of Cincinnati and has been teaching it ever since. He reapplied this course and taught it at Northwestern University's School of Continuing Studies as well.

Brandan is the creator of the PlantPlaces.com Mobile Android app, which allows users to search for plants by color and GPS plants. He wrote this app in 2012, using TDD principles. He uses selected JSON feeds from that app in the examples in this video course.

Brandan's mix of both academic and professional experience means that he brings real-world concepts to the classroom. Most of his high-level classes include hands-on experience with unit testing, scrum, and distributed version-control systems.

Brandan holds a BS in Accounting and Management Information Systems from Miami University in Oxford, Ohio. He also earned a BS in Horticulture from the University of Cincinnati's College of Design, Art, Architecture, and Planning, and a Masters of Business Administration from the University of Cincinnati, Lindner College of Business, with concentrations in Operations Management and Real Estate Finance.