Найти Π² Π”Π·Π΅Π½Π΅
Java

πŸ’‘ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ зависимости vs ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ абстракции

❌ Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Application Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ создаёт ConsoleLogger. Π­Ρ‚ΠΎ Тёсткая связка: класс Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π»ΠΎΠ³Π³Π΅Ρ€Π°. βœ”οΈ Π’ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии вводится интСрфСйс Logger. И Application зависит Π½Π΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса, Π° ΠΎΡ‚ абстракции - ΠΈ Π»ΠΎΠ³Π³Π΅Ρ€ пСрСдаётся ΠΈΠ·Π²Π½Π΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инвСрсии зависимостСй Π² дСйствии: ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ остаётся Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ. @javarush

πŸ’‘ ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ зависимости vs ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ абстракции

❌ Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Application Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ создаёт ConsoleLogger.

Π­Ρ‚ΠΎ Тёсткая связка: класс Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π»ΠΎΠ³Π³Π΅Ρ€Π°.

βœ”οΈ Π’ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии вводится интСрфСйс Logger.

И Application зависит Π½Π΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса, Π° ΠΎΡ‚ абстракции - ΠΈ Π»ΠΎΠ³Π³Π΅Ρ€ пСрСдаётся ΠΈΠ·Π²Π½Π΅.

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инвСрсии зависимостСй Π² дСйствии:

ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ остаётся Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌ.

@javarush