All software developers know the burden of working with brittle systems that acquire lots of technical debt over time. Those applications are fragile, rigid, and almost impossible to evolve. In this course, SOLID Software Design Principles in Java, you will gain the ability to create applications that are less coupled, easier to test, and more maintainable. First, you will learn why it is better to keep your methods and classes small and focused. Next, you will discover how to effectively extend functionality and create correct relationships between your classes. Finally, you will explore how to design proper interfaces and how to decouple your system by depending on abstractions. When you are finished with this course, you will have the skills and knowledge needed to build robust, maintainable applications in Java.
Course Overview Hi everyone, and welcome to my course, SOLID Software Design Principles in Java. My name is Dan Geabunea, aka the Romanian Coder. I'm a passionate software developer, clean code enthusiast, and blogger. You can find me on line at romaniancoder.com. This course is all about improving the quality, design, and maintainability of your Java applications by applying the five SOLID principles of object-oriented design, principles that each professional Java developer should understand. During this course, you'll see why technical debt is the number one challenge that many software projects face. You'll learn about the five SOLID principles. Then you'll see how to correctly identify violations of these principles and how to refactor code and correct these violations. By the end of this course, you'll be able to understand the SOLID principles of object-oriented design and apply them to create more robust systems that are easy to change and maintain over time. Before beginning this course, you should be familiar with the Java programming language at an intermediate level. From here you should feel comfortable diving into more code quality courses on design patterns and test-driven development. I hope you'll join me on this journey to create clear code with the SOLID Software Design Principles in Java course here, at Pluralsight.