Object-Oriented Design – SOLID Principles

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/14

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering key terms and definitions from the lecture on SOLID principles in object-oriented design.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

15 Terms

1
New cards

Object-Oriented Design (OOD)

A discipline focused on designing software that is easy to modify, extend and maintain by organizing systems around interacting objects.

2
New cards

Object-Oriented Programming (OOP)

A programming paradigm based on objects containing data and behavior; language support alone is insufficient without proper design practices.

3
New cards

SOLID

A mnemonic coined by Robert C. Martin summarizing five key principles—SRP, OCP, LSP, ISP, DIP—for managing dependencies and creating flexible, maintainable software.

4
New cards

Single Responsibility Principle (SRP)

States that a class should have only one reason to change, encouraging high cohesion and separation of concerns.

5
New cards

Cohesion

The functional relatedness of elements within a module; high cohesion means a module’s elements change for the same single reason.

6
New cards

Open/Closed Principle (OCP)

Classes, modules, or functions should be open for extension but closed for modification, allowing new behavior without altering existing code.

7
New cards

Liskov Substitution Principle (LSP)

Subtypes must be substitutable for their base types without altering the correctness of a program, ensuring polymorphic behavior.

8
New cards

Interface Segregation Principle (ISP)

Clients should not be forced to depend on interfaces they do not use; many specific interfaces are better than one large, ‘fat’ interface.

9
New cards

Dependency Inversion Principle (DIP)

High-level and low-level modules should both depend on abstractions, not on concrete classes, thereby decoupling software layers.

10
New cards

Robert C. Martin ("Uncle Bob")

Software engineer and author who popularized the SOLID principles through books like “Clean Code” and “Agile Software Development.”

11
New cards

Structured Programming

An earlier methodology emphasizing control structures over GOTO statements; precursor to object-oriented approaches for building complex software.

12
New cards

Fat Interface

An interface that contains methods unrelated to a particular client’s needs, causing unnecessary coupling and violating ISP.

13
New cards

Abstraction (in DIP context)

A high-level definition (interface or abstract class) that both high-level and low-level modules depend upon, enabling flexibility and reuse.

14
New cards

Coupling

The degree to which one component relies on another; SOLID principles aim to minimize tight coupling and improve maintainability.

15
New cards

Reason to Change

A distinct cause that forces a class or module to be modified; SRP demands each class have exactly one such reason.