Trong Java IoC / DI là một thực tiễn rất phổ biến được sử dụng rộng rãi trong các ứng dụng web, gần như tất cả các khung có sẵn và Java EE. Mặt khác, cũng có rất nhiều ứng dụng web Python lớn, nhưng bên cạnh Zope (mà tôi đã nghe thấy nên rất kinh khủng khi viết mã) IoC dường như không phổ biến trong thế giới Python. (Vui lòng kể tên một số ví dụ nếu bạn nghĩ rằng tôi sai).
Tất nhiên, có một số bản sao của các khung công tác Java IoC phổ biến có sẵn cho Python, springpython chẳng hạn. Nhưng không ai trong số họ dường như được sử dụng thực tế. Ít nhất, tôi chưa bao giờ vấp phải một ứng dụng web dựa trên Django hoặc sqlalchemy + <insert your favorite wsgi toolkit here>
sử dụng cái gì đó tương tự.
Theo tôi, IoC có những lợi thế hợp lý và sẽ giúp dễ dàng thay thế mô hình người dùng mặc định django, nhưng việc sử dụng rộng rãi các lớp giao diện và IoC trong Python có vẻ hơi kỳ lạ và không »pythonic«. Nhưng có lẽ ai đó có một lời giải thích tốt hơn, tại sao IoC không được sử dụng rộng rãi trong Python.