SOLID Software Design Principles in Java
Offered By: Pluralsight
Course Description
Overview
Apply the SOLID principles of object-oriented design in Java applications.
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.
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.
Syllabus
- Course Overview 1min
- Saving the Day with SOLID 10mins
- Understanding the Single Responsibility Principle (SRP) 18mins
- Evolving Code with the Open Closed Principle (OCP) 21mins
- Applying Liskov Substitution Principle (LSP) 19mins
- Modularizing Abstractions with the Interface Segregation Principle (ISP) 18mins
- Decoupling Components with the Dependency Inversion Principle (DIP) 30mins
Taught by
Dan Geabunea
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera