Lecture 4 - Architecture Abstraction Flashcards

(7 cards)

1
Q

What is Abstraction

A
  • simplify complex problems by representing essential features and hiding unnecessary details
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is decomposition?

A
  • breaking down large entities into smaller ones
  • goal: modular, maintainable, flexible designs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Poor decomposition example

A
  • One class is responsible for almost all the operations
  • Multiple responsibilities per class
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is coupling?

A
  • Density of dependencies among classes
  • If a class changes and there is high coupling, other classes needs to change as well
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Tight vs Loose Coupling?

A

Tight:
- Classes create other classes directly
- Maintains direct reference

Loose:
- Classes referred through parameters

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is cohesion?

A
  • Degree of unity or closeless among elements WITHIN a class
  • Goal: Each class should represent a single concept
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Low cohesion vs high cohesion

A

Low
- classes mixing responsibilities with other classes
High
- Class information restricted to the class

How well did you know this?
1
Not at all
2
3
4
5
Perfectly