ioc là gì

  • Inversion of control (IoC)
  • Service Locator
  • Dependency Injection

Inversion of Control (IoC) là 1 nguyên tắc thiết kế nhập technology ứng dụng nhập cơ những bộ phận nó phụ thuộc vào nhằm thao tác bị hòn đảo ngược quyền tinh chỉnh Lúc đối chiếu với thiết kế phía thủ thục truyền thống lịch sử.

Bạn đang xem: ioc là gì

Hình mặt mày là Class A ở nhì tình huống, vận dụng IoC và ko. Lớp này nó thao tác tùy thuộc vào nhì lớp Class BClass C (B và C gọi là những dependency)

Ở quy mô ko IoC, Class A Lúc cần dữ thế chủ động tạo nên đối tượng người sử dụng lớp Class BClass C (nó nắm quyền khởi tạo nên, điều khiển)

Với quy mô IoC thì class A ko tự động khởi tạo nên cũng ko phụ trách vận hành Class B, Class C. Nó sẽ có được nhì dependency này kể từ phía bên ngoài trải qua một hình thức này cơ (như vì thế setter, vì thế thông số hàm tạo nên lớp A, vì thế gán thuộc tính ...)

Xem thêm: tiến thoái lưỡng nan là gì


Xem thêm: perfume'' la gì

Triển khai nguyên tắc IoC thông thường triển khai vì thế những Framework theo đòi từng loại ngôn từ thiết kế, những quy mô thiết kế (pattern) triển khai kể từ IoC như:

  • Service Locator
  • Events
  • DI (Dependency Inject)

Mô hình Service Locator

Service Locator - Một quy mô xây dựng nguyên tắc IoC. Sử dụng quy mô này còn có nghĩa cần phải có hình thức sao cho tới vớ những nhiều tiến thủ trình (các đối tượng người sử dụng, công ty ...) được đi vào vận hành vì thế một trung tâm được gọi là Service Locator, kể từ trung tâm ĐK (registry) này những lớp ham muốn dùng công ty này thì Locator tiếp tục cung cấp (khởi tạo nên nếu như ko, và trả về công ty cho tới đối tượng người sử dụng sử dụng).

  • Xem cụ thể về Service Locator
  • Service Manager một Service Locator nhập Zend Framework, coi tại: Service Manager

Mô hình Dependency Inject - DI

Dependency injection (DI) là 1 quy mô xây dựng kể từ nguyên tắc IoC, là 1 nghệ thuật nhập thiết kế nhập cơ một đối tượng người sử dụng cung ứng những phụ thuộc (dependency - là đối tượng người sử dụng, công ty, chức năng) của đối tượng người sử dụng không giống. Injection - Bơm nhập (tiêm vào) ám duy nhất dựa vào (đối tượng, dịch vụ) đi vào đối tượng người sử dụng nhằm đối tượng người sử dụng dùng nó.