CSCI 360 quiz 1 vocab

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

1/17

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

18 Terms

1
New cards

Abstraction

Conveys essential behaviors • Embodied in interfaces and inheritance.

• Design patterns are sophisticated and reusable design solutions to known problems

abstract classes cannot be instantiated, but they can have a subclass

abstract methods are declared without an implementation

2
New cards

Encapsulation

Hides the details of the implementation of an object. • Enabled using access modifiers

makes abstraction possible. You use IT to clearly define the essential behavior

3
New cards

cohesion

the extent to which all behaviors in a class belong together

4
New cards

Low cohesion

The class is a mixture of behaviors without any commonality

5
New cards

High cohesion

The class in which all behaviors are tightly linked

6
New cards

coupling

the degree to which a class or module knows about some other class or module's implementation details

7
New cards

Tight coupling

when a change in one class or module necessitates a change in another

8
New cards

Loose coupling

when two classes or modules can evolve independently, even if they are used together

9
New cards

Abstract Data types

Definition: A collection of well-defined behaviors, irrespective of implementation details

• Examples: Lists, maps, sets, stacks, queues •

A list: • Is ordered • Can access elements by position • Allows arbitrary insertion and deletion • Allows duplicates

10
New cards

maximally cohesive

A class in which each variable is used by each method

11
New cards

Single Responsibility Principle

each software module or class should have one and only one reason to change

• I read this as "drivers for change" instead of "reason to change"

• Regardless, SRP supports high cohesion

• Low cohesion and weak abstractions often go hand-in-hand

12
New cards

Open/Closed Principle

a class should be open for extension but closed for modification

13
New cards

Liskov Substitution Principle

subclasses must be able to substitute for their base classes

14
New cards

Interface Segregation Principle

a class should not be forced to implement interfaces it doesn't need to

15
New cards

Dependency Inversion Principle:

objects should depend on abstractions instead of concrete implementations

16
New cards

Composition

Adding behavior to a class by embedding other objects within it

17
New cards

Composition vs. Inheritance

Is-a vs Has-a realtionships

Overuse of inheritance creates tight coupling

Use of composition enables dependency injection

18
New cards

Design patterns

are sophisticated and reusable design solutions to known problems. They're abstractions!

• We create the implementations and must encapsulate them well to reduce the risk of tight coupling.

• They provide at least some areas of high cohesion, helping us drive overall cohesion.