1/9
This set of flashcards covers the essential vocabulary and principles of software design and architecture, emphasizing SOLID principles.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Single Responsibility Principle (SRP)
Suggests that each software module, class, or interface should have only one reason to change.
Open-Closed Principle (OCP)
States that software classes must be designed to allow behavior changes by adding new code, not modifying existing code.
Liskov Substitution Principle (LSP)
Indicates derived classes should be substitutable for their base classes without affecting the behavior of the software.
Interface Segregation Principle (ISP)
Advises against depending on interfaces that are not used; clients should not be forced to implement unused methods.
Dependency Inversion Principle (DIP)
States high-level classes should not depend on low-level classes; both should depend on abstractions.
Rigidity
Describes software that is hard to change; changes affect multiple parts of the software.
Fragility
Indicates that applying changes can break unexpected parts of the software.
Immobility
Refers to the difficulty of reusing software modules in other software due to bad design.
Abstraction
A concept that simplifies complex reality by modeling classes based on their essential properties.
Testing
The process of evaluating software to identify bugs or issues before it is deployed.