Một DI container đăng ký các dịch vụ và phụ thuộc của chúng, rồi resolve theo thứ tự khởi tạo đúng (phụ thuộc trước, dịch vụ sau) — tức topological order.
Cho danh sách service dep1 dep2 ... (dep có thể rỗng). Khi resolve một service, in thứ tự khởi tạo: mỗi phụ thuộc (đệ quy, sâu trước) được init trước, mỗi service chỉ init một lần. Dữ liệu đảm bảo không có chu trình. Khi gặp nhiều phụ thuộc, xử lý theo thứ tự liệt kê.
Cho service cần resolve, in tên các service theo thứ tự init.
Dòng 1: số nguyên N. N dòng: service [dep...]. Dòng kế: tên service cần resolve.
1 ≤ N ≤ 100. Tên duy nhất, không chu trình.
Các dòng tên service theo thứ tự khởi tạo.
Ví dụ:
Đầu vào:
3
Controller Service
Service Repo
Repo
Controller
Đầu ra:
Repo
Service
Controller
Giải thích:
Đang tải editor...