CSCI 360 quiz 1 vocab

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions

1 / 17

encourage image

There's no tags or description

Looks like no one added any tags here yet for you.

18 Terms

1

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

New cards
2

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

New cards
3

cohesion

the extent to which all behaviors in a class belong together

New cards
4

Low cohesion

The class is a mixture of behaviors without any commonality

New cards
5

High cohesion

The class in which all behaviors are tightly linked

New cards
6

coupling

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

New cards
7

Tight coupling

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

New cards
8

Loose coupling

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

New cards
9

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

New cards
10

maximally cohesive

A class in which each variable is used by each method

New cards
11

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

New cards
12

Open/Closed Principle

a class should be open for extension but closed for modification

New cards
13

Liskov Substitution Principle

subclasses must be able to substitute for their base classes

New cards
14

Interface Segregation Principle

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

New cards
15

Dependency Inversion Principle:

objects should depend on abstractions instead of concrete implementations

New cards
16

Composition

Adding behavior to a class by embedding other objects within it

New cards
17

Composition vs. Inheritance

Is-a vs Has-a realtionships

Overuse of inheritance creates tight coupling

Use of composition enables dependency injection

New cards
18

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.

New cards

Explore top notes

note Note
studied byStudied by 32 people
605 days ago
5.0(1)
note Note
studied byStudied by 94 people
1011 days ago
5.0(1)
note Note
studied byStudied by 17 people
825 days ago
5.0(1)
note Note
studied byStudied by 1 person
784 days ago
5.0(1)
note Note
studied byStudied by 37 people
659 days ago
5.0(1)
note Note
studied byStudied by 14 people
911 days ago
5.0(1)
note Note
studied byStudied by 9 people
888 days ago
5.0(1)
note Note
studied byStudied by 5422 people
705 days ago
4.6(34)

Explore top flashcards

flashcards Flashcard (49)
studied byStudied by 6 people
834 days ago
5.0(1)
flashcards Flashcard (32)
studied byStudied by 5 people
489 days ago
5.0(1)
flashcards Flashcard (72)
studied byStudied by 35 people
90 days ago
5.0(1)
flashcards Flashcard (34)
studied byStudied by 9 people
366 days ago
5.0(1)
flashcards Flashcard (24)
studied byStudied by 62 people
561 days ago
4.5(2)
flashcards Flashcard (51)
studied byStudied by 1 person
48 days ago
5.0(3)
flashcards Flashcard (100)
studied byStudied by 4 people
449 days ago
5.0(1)
flashcards Flashcard (423)
studied byStudied by 2 people
40 minutes ago
5.0(1)
robot