Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Lập trình Web & Backend] Dependency Injection đơn giản

    Dependency Injection đơn giản

    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.

    • Định dạng đầu vào:

      Dòng 1: số nguyên N. N dòng: service [dep...]. Dòng kế: tên service cần resolve.

    • Ràng buộc đầu vào:

      1 ≤ N ≤ 100. Tên duy nhất, không chu trình.

    • Định dạng đầu ra:

      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:

    Controller cần Service, Service cần Repo. Init theo thứ tự Repo -> Service -> Controller.

    Đang tải editor...