Я искал последний год и наткнулся на Белка-IOC . Было что-то, что мне не нравилось в этом - я думаю, что он поддерживал только экземпляры в стиле singleton
Белка - это контейнер IoC
реализовано в Javascript для продвижения
лучшее использование архитектуры и
шаблоны в браузерном Javascript
приложения
Я начал писать свое собственное и довольно далеко (инжекция в конструктор и установщик, значения и ссылки, поддержка синглтонов, тесты JsUnit), но мне это никогда не требовалось в моем приложении. Возможно, мне придется проверить проект Люка. Для справки, вот пример формата конфигурации, с которым я столкнулся.
var iocConfig = {
"a" : { Type : A },
"b1" : { Type : B, Props : [{Name : 'Letter', Ref : "a"}] },
"b2" : { Type : B, Props : [{Name : 'Letter', Val : "a"}] },
"c2" : { Type : C, Args : [{Ref : "a"}, {Val : "a"}] },
"d" : { Type : D, Props : [{Name : 'Letter', Ref : "a"}] },
"date" : { Type : Date, Props : [{Name : 'FullYear', Val : 2008}, {Name : 'Month', Val : 0}, {Name : 'Date', Val : 1}] },
"array3" : { Type : Array, Args : [{Val : 3}] },
"number1" : { Type : Number, Args : [{Val : 1}] },
"string1" : { Type : String, Args : [{Val : "1"}] },
"s-true" : { Type : S, Singleton : true},
"s-false" : { Type : S, Singleton : false}
};