Design Principles and Patterns

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/9

flashcard set

Earn XP

Description and Tags

This set of flashcards covers the essential vocabulary and principles of software design and architecture, emphasizing SOLID principles.

Last updated 12:08 AM on 4/8/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

10 Terms

1
New cards

Single Responsibility Principle (SRP)

Suggests that each software module, class, or interface should have only one reason to change.

2
New cards

Open-Closed Principle (OCP)

States that software classes must be designed to allow behavior changes by adding new code, not modifying existing code.

3
New cards

Liskov Substitution Principle (LSP)

Indicates derived classes should be substitutable for their base classes without affecting the behavior of the software.

4
New cards

Interface Segregation Principle (ISP)

Advises against depending on interfaces that are not used; clients should not be forced to implement unused methods.

5
New cards

Dependency Inversion Principle (DIP)

States high-level classes should not depend on low-level classes; both should depend on abstractions.

6
New cards

Rigidity

Describes software that is hard to change; changes affect multiple parts of the software.

7
New cards

Fragility

Indicates that applying changes can break unexpected parts of the software.

8
New cards

Immobility

Refers to the difficulty of reusing software modules in other software due to bad design.

9
New cards

Abstraction

A concept that simplifies complex reality by modeling classes based on their essential properties.

10
New cards

Testing

The process of evaluating software to identify bugs or issues before it is deployed.