Concrete Dependency Injection (ARCH3199)
Esta página aún no está disponible en tu idioma.
Key typescript.quality.concrete-dependency · Severity info · Category quality
Typing constructor dependencies as concrete classes violates the Dependency Inversion Principle (DIP); it couples the component to a specific implementation and makes mocking for tests harder.
Incorrect
Section titled “Incorrect”class ReportService { constructor(private repo: SqlOrderRepository) {}}Correct
Section titled “Correct”interface OrderRepository { findAll(): Promise<Order[]>;}
class ReportService { constructor(private repo: OrderRepository) {}}Type dependencies against interfaces or abstractions instead of concrete classes.