Design Pattern: IOC – Inversion of Control

Author: - Posted: 05/11/22 - Update: 17/06/23

Sự khác biệt giữa 3 khái niệm: Dependency Inversion Principle, Inversion of Control và Dependency Injection:
- Dependency Inversion Principle (DIP): Đây là một nguyên lý để thiết kế và viết code.
- Inversion of Control (IoC): Đây là một design pattern được tạo ra để code có thể tuân thủ nguyên lý Dependency Inversion. Có nhiều cách hiện thực pattern này: ServiceLocator, Event, Delegate, … Dependency Injection là một trong các cách đó.
- Dependency Injection: Đây là một cách để hiện thực Inversion of Control Pattern (Có thể coi nó là một design pattern riêng cũng được). Các module phụ thuộc (dependency) sẽ được inject vào module cấp cao.

1. Đặt vấn đề

2. Dependency Inversion Principle (DIP)

3. Factory Pattern

4. Dependency Injection