Mastering Software Design Concepts: A Flashcard Approach

Table of Contents

Software Design Flashcards

Cohesion   drill software_design

Front

What is cohesion in software design?

Back

Cohesion refers to the degree to which the elements inside a module belong together. High cohesion means that the methods and variables of a class are closely related and focused on a single purpose or responsibility.

Coupling   drill software_design

Front

What is coupling in software design?

Back

Coupling is the degree of interdependence between software modules. Low coupling is typically a sign of a well-structured computer system and a good design.

SOLID Principles   drill software_design

Front

What does SOLID stand for in software design principles?

Back

  • S: Single Responsibility Principle
  • O: Open-Closed Principle
  • L: Liskov Substitution Principle
  • I: Interface Segregation Principle
  • D: Dependency Inversion Principle

Design Patterns   drill software_design

Front

What are design patterns in software engineering?

Back

Design patterns are reusable solutions to common problems in software design. They are templates for how to solve a problem that can be used in many different situations.

MVC Architecture   drill software_design

Front

What does MVC stand for, and what is it used for?

Back

MVC stands for Model-View-Controller. It's an architectural pattern commonly used for developing user interfaces that divides an application into three interconnected components.

Inheritance   drill software_design

Front

What is inheritance in object-oriented programming?

Back

Inheritance is a mechanism where you can derive a class from another class for a hierarchy of classes that share a set of attributes and methods.

Polymorphism   drill software_design

Front

What is polymorphism in object-oriented programming?

Back

Polymorphism is the provision of a single interface to entities of different types. It allows one interface to be used for a general class of actions.

Encapsulation   drill software_design

Front

What is encapsulation in object-oriented programming?

Back

Encapsulation is the bundling of data with the methods that operate on that data. It restricts direct access to some of an object's components, which is a means of preventing accidental interference and misuse of the methods and data.

Abstraction   drill software_design

Front

What is abstraction in software design?

Back

Abstraction is the process of hiding the implementation details and showing only the functionality to the user. It helps in reducing programming complexity and effort.

Author: Jason Walsh

j@wal.sh

Last Updated: 2024-08-14 06:08:50