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
C++ Programming: Object-Oriented DesignCodio via edX C++ Programming: A Hands-on Introduction
Codio via edX AP Computer Science A: Java Programming Classes and Objects
Purdue University via edX Data Structures and Design Patterns for Game Developers
University of Colorado System via Coursera Design Patterns
University of Alberta via Coursera