Đảo ngược kiểm soát trong Unity?


7

Tôi là nhà phát triển .NET bán kinh nghiệm, người mới bắt đầu làm việc với Unity. Tôi đang cố gắng quyết định làm thế nào để IoC hoạt động trong Unity 4.X (Tôi chưa thử nghiệm bất cứ điều gì) và tôi tự hỏi đâu là cách tốt để đạt được nó.

Bài đăng này và câu trả lời của nó nói rằng Ninject sẽ không hoạt động với Unity, tuy nhiên nó đã cũ. Có còn đúng không? Nếu có, các phương tiện khác để đạt được IoC trong Unity là gì?

Chỉnh sửa 1: Tôi đang nhắm mục tiêu chủ yếu nền tảng Windows. Vì vậy, tôi không cần khả năng tương tác nền tảng, tôi chỉ cần nó hoạt động.


IIRC Ninject hoạt động tốt trong Mono, do đó bạn ít nhất có thể sử dụng nó làm công cụ định vị dịch vụ. Tuy nhiên, bạn sẽ không thể thực hiện tiêm phụ thuộc với các lớp được Unity khởi tạo.
BlueRaja - Daniel Pflughoeft

Câu trả lời:


5

Bạn có thể muốn nhìn vào StrangeIOC.

http://strangeioc.github.io/strangeioc/

Nó có nghĩa là cho Unity. Dự án đã được phát triển tích cực trong một thời gian và tôi giữ ý nghĩa để kiểm tra nó, nhưng cho đến giờ tôi vẫn chưa thể đưa ra khuyến nghị cá nhân. Nhưng nó có vẻ giống như những gì bạn muốn.


Đây chắc chắn là những gì bạn muốn. Tôi đã sử dụng nó kể từ khi phát hành (về cơ bản) và nó rất phù hợp với tài liệu tuyệt vời. Thành thật tôi không thể thấy mình phát triển một trò chơi trong Unity mà không có nó.
Cooper

Cảm ơn rất nhiều! Đó là điều mà cho đến nay đã vượt quá mong đợi của tôi :)
actionjezus6

0

Tôi không biết, nhưng không ai quản lý để chạy nó dưới sự thống nhất: http://forum.unity3d.com/threads/ios-dependency-injection-framework-suggestions.119909/ nhưng có thể rất lỗi thời. Tuy nhiên, hãy thử gửi câu hỏi của bạn lên UnityAnswers, nơi bạn sẽ nhận được nhiều câu trả lời thích hợp hơn.


1
UnityAnwsers đã làm tôi thất bại - answer.unity3d.com/questions/719987/iêu .
actionjezus6

u3d.as/content/thirdmotion/strange-io-c/4Xj điều này sẽ giúp bạn, nếu Ninject không hoạt động :)
Citrus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.