Встречается на собеседованиях • сегодня

Можно ли сделать Dependency Inversion на уровне всего проекта

Да, можно. Dependency Inversion Principle (DIP) можно применить на уровне всего проекта, используя паттерны вроде Dependency Injection (DI) или Inversion of Control (IoC). Пример с DI контейнером (на React): ```tsx // services.ts export interface ApiService { fetchData(): Promise; } export class RealApiService implements ApiService { async fetchData() { return fetch('/api/data'); } } // App.tsx import { ApiService } from './services'; function App({ apiService }: { apiService: ApiService }) { // Используем абстракцию, а не конкретную реализацию const handleClick = async () => { const data = await apiService.fetchData(); }; return ; } // index.tsx import { RealApiService } from './services'; import { App } from './App'; const apiService = new RealApiService(); ReactDOM.render( , document.getElementById('root') ); ``` Ключевые моменты: 1. Абстракции (интерфейсы) определяют контракты 2. Реализации зависят от абстракций 3. Внедрение зависимостей происходит на верхнем уровне (composition root)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы