Knowing design patterns is an essential skill in software craftsmanship. But how do you go about learning them when there are so many? Watch this course to quickly learn how to refactor messy code to the most useful and frequently used patterns.
Challenges arise as software grows in size and complexity, and design patterns offer common solutions to them. In this course, Java: Refactoring to Design Patterns, you will gain the ability to convert typical procedural code into the most useful and frequently used design patterns. First, you will learn how to encapsulate object creation with so-called factories that greatly reduce future maintenance cost. Next, you will discover how to get rid of long if-else statements and reduce conditional complexity using behavioral patterns. Finally, you will explore how structural patterns help you better organize your code. When you are finished with this course, you will have the skills to write code that is organized, maintainable, and pleasant to work with.
Course Overview Hi, everyone. My name is Andrejs Doronins, and welcome to my course, Java: Refactoring to Design Patterns. Any serious software project accumulates technical debt over time. You and your team may know and apply some clean code and even solid principles, but despite that, code maintenance is still a burden. Your project probably faces common challenges, and these challenges can be solved with common solutions, otherwise known as design patterns. But there are dozens of them, so how do you get started when you're short on time? I'm here to offer a practical crash course on how to convert typical problematic code that you find in most projects into clean and organized code, using the most frequent and useful design patterns. Some of the major topics that we will cover include encapsulating object creation with factories, eliminating conditional complexity with behavioral patterns, improving your code with structural patterns, and exploring alternatives to object‑oriented patterns in general. By the end of this course, you will have the ability to convert clunky and difficult‑to‑maintain code into elegant and flexible software. Before beginning the course, you should have some professional experience with Java in any IDE such as IntelliJ or Eclipse and to be able to write object‑oriented code by applying the basics of encapsulation, inheritance, and polymorphism. It would also be helpful if you know the basics of Java 8 API, specifically streams and lambdas. I hope you'll join me on this journey to better code quality, with the course, Java Refactoring to Design Patterns, at Pluralsight.