2 Principles of architecture Flashcards

1
Q

What is information hiding?

A

Implementation decisions should be cointained within a single architectural element.

It should leak as little information as possible about a realization to other elements.

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

What is coupling?

A

Coupling refers to how much one architectural element depends on another.

Higher coupling increases architectural complexity.

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

What is cohesion?

A

Cohesion refers to how closely related the subcomponents within an architectural element are.

The cohesion within a module should be stronger than the coupling between different modules.

The goal is not to maximize cohesion but to minimize dependencies, then divide elements to maintain high cohesion.

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

What is separation of concerns?

A

Each concern should have only one responsibility.

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

What is the open-closed principle?

A

The modules should be open for extension and close for changes (on what already exists).

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