Layered Architecture and Spring IoC Flashcards

1
Q

Why we want to split our applications into layers?

A

За по-добра организация, лесна поддръжка, разделение на отговорностите и възможност за промяна на един слой, без да засяга другите.

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

What is to role of the presentation layer?

A

Обработва взаимодействието с потребителя и показва данните на подходящ начин (UI).

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

Where all core application logic belongs?

A

В бизнес слоя (business layer), който съдържа правилата и логиката за работа на приложението.

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

What are the benefits of structuring the applications into layers?

A
  • Разделение на отговорностите
  • Лесна поддръжка и тестване
  • Гъвкавост и повторна употреба на код
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Dependency Inversion?

A

Принцип, при който високите нива на кода не трябва да зависят от ниските, а и двете трябва да зависят от абстракции.

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

What is Inversion of Control?

A

Процес, при който обектите не контролират създаването на своите зависимости, а този контрол се дава на друг механизъм (напр. Spring контейнер).

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

What is Dependency Injection?

A

Техника, при която зависимостите на обект се предоставят отвън, вместо обектът сам да ги създава.

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

How many ways are there to inject a dependency?

A
  • Чрез конструктор (constructor injection)
  • Чрез setter метод (setter injection)
  • Чрез полета (field injection)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Explain the difference between Dependency Inversion, Inversion of Control & Dependency Injection.

A
  • Dependency Inversion е принцип, който казва, че високо ниво на кода трябва да зависи от абстракции, не от конкретни реализации.
  • Inversion of Control е метод за прехвърляне на контрола на зависимостите от обектите към контейнер или рамка.
  • Dependency Injection е конкретна техника за реализиране на Inversion of Control чрез предоставяне на зависимости на обектите отвън.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the benefits of DI?

A
  • Лесно тестване на отделни компоненти
  • Намаляване на твърдите зависимости между обектите
  • По-гъвкав и модулен код
How well did you know this?
1
Not at all
2
3
4
5
Perfectly