TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
Про єнотів та IT

17 Aug 2024, 20:02

Open in Telegram Share Report

💡 Dependency Injection vs Service Locator — стаття від пана Мартіна Фаулера.

- DI — це про передавання залежностей через конструктор, сеттери або інтерфейс. Це дозволяє коду не залежати від конкретної реалізації компонентів.
- Service Locator — інший варіант: спеціальний об’єкт знаходить потрібні сервіси. Але це створює залежність від самого локатора.

DI краще підходить для багаторазового використання компонентів, а локатор простіший для внутрішніх проектів.

Приклад DI через конструктор:
class MovieLister {
private MovieFinder finder;

public MovieLister(MovieFinder finder) {
this.finder = finder;
}
}

А ось Service Locator:
class MovieLister {
MovieFinder finder = ServiceLocator.movieFinder();
}

Фаулер також каже, що DI краще показує залежності класу, оскільки вони явно передаються через конструктор або сеттери, а в Service Locator доводиться шукати ці залежності по всьому коду.

3 0 0 1
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot