1/5
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Single Responsibility Principle
Look for classes with methods addressing different concerns
Open/Closed Principle
Identify code that requires modifying existing method implementations to add new functionality instead of extending through inheritance or composition.
Liskov Substitution Principle
Watch for subclasses that override methods in ways that change expected behavior, throw unexpected exceptions, or break contracts established by the parent class.
Interface Segregation Principle
Spot large interfaces with methods that aren't all used by each implementing class, forcing classes to implement methods they don't need.
Dependency Inversion Principle
Look for high-level modules directly instantiating or depending on concrete low-level modules rather than depending on abstractions/interfaces.
Law of Demeter
Notice method chains accessing distant objects (like object.getX().getY().getZ()) rather than talking only to immediate collaborators.