
Explore the single responsibility principle by building a Java palindrome counter that counts palindrome words in a sentence, with a simple reverse-check method and a clear srp-focused design.
Refactor the palindrome counter by applying SRP, extracting sentence splitting into a sentence splitter class and a palindrome checker, and wiring dependencies to enable single responsibility.
Learn the open for extension and closed for modification principle (OCP) and how to extend functionality without modifying existing code. Explore a real-world Eclipse plugin example that shows seamless integration.
Explore applying the open/closed principle to username validation by splitting logic into separate validator classes and orchestrating them via a shared interface in a single username validator.
Apply preconditions to validate itinerary and future travel date before discount logic executes. Enforce postconditions to guarantee non-zero, sensible discounts and provide a guaranteed discount retrieval method.
Understand how strengthening preconditions in a subtype breaches LSP, as shown by the airline discount calculator example, and how weakening may align behavior with business rules.
Explains the Liskov Substitution Principle through an invariant guideline with a discount calculator example, showing how a subtype must preserve the supertype invariants to avoid side effects.
Explore how the LSP history constraint prevents state changes to the guaranteed discount and guides safe subclassing by preserving supertype behavior and using private fields.
Explore the dependency inversion principle, differentiate high level and low level modules via abstractions, and examine source code dependency trees and their downsides like propagation, deployment impact, and tight coupling.
Overview :
This course explains everything on SOLID principles starting from scratch & shows how one can follow these principles in JAVA. The course starts from basic examples, and then moves to more advanced examples. In this journey, the course also shows how developers tend to violate these principles unintentionally -- this knowledge is important because when you know the mistakes of other developers, you will not do it. The course also shows how violating one principle can lead to the violation of another principle.
SOLID stands for -
Single Responsibility Principle (SRP)
Open Closed Principle (OCP)
Liskov Substitution Principle (LSP)
Interface Segregation Principle (ISP)
Dependency Inversion Principle (DIP)
Prerequisite :
Core JAVA
Eclipse
Course features :
Course assumes no prior knowledge on SOLID principles
Course covers all the principles in detail starting from zero
Course also relates these principles to our daily lives to show how these are being followed around us
Course walks through a variety of different code examples
Course has lots and lots of discussions and reasoning around these principles
Course shows the instances where developers unintentionally violate these principles
Course also talks about how violation of one principle can lead to violation of another principle
Course explains the concepts with appropriate diagrams and figures making it easy and fun to understand
Why should you buy this course ?
This course would simply change the way you write code. You will start feeling the difference yourself after completing the course.