-2
我最近有一个采访和面试官只是问我一个问题,他说我把你的时间问题是“你可以实现像角度良好的程序的依赖注入?”我尝试尽我所能,但它似乎面试不喜欢我的程序,所以任何人都可以给我一个简单的建议,我怎么能实现它像角? 谢谢依赖注入的实现像角
我最近有一个采访和面试官只是问我一个问题,他说我把你的时间问题是“你可以实现像角度良好的程序的依赖注入?”我尝试尽我所能,但它似乎面试不喜欢我的程序,所以任何人都可以给我一个简单的建议,我怎么能实现它像角? 谢谢依赖注入的实现像角
var WelcomeController = function (Greeter) {
document.write(Greeter.greet());
};
var Injector = {
dependencies: {},
process: function(target) {
var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m;
var FN_ARG_SPLIT = /,/;
var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/;
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
var text = target.toString();
var args = text.match(FN_ARGS)[1].split(',');
target.apply(target, this.getDependencies(args));
},
getDependencies: function(arr) {
var self = this;
return arr.map(function(value) {
return self.dependencies[value];
});
},
register: function(name, dependency) {
this.dependencies[name] = dependency;
}
};
var RobotGreeter = {
greet: function() {
return 'Domo Arigato';
}
};
var OtherGreeter = {
greet: function() {
return 'That will do pig.';
}
};
// Randomly register a different greeter to show that WelcomeController is truly dynamic.
Injector.register('Greeter', Math.random() > 0.5 ? RobotGreeter : OtherGreeter);
Injector.process(WelcomeController);
你需要问一个更好的问题,包括代码示例和错误以及更多信息。 – Hunter
访问者是问如何实现一般的依赖注入,还是像Angular这样的依赖注入系统?一个更好的问题是为什么一个面试官要求你编写一个依赖注入容器,当他们有很多存在时? – jhenderson2099
他没有问我一般的实现他希望简单的注入实现像角?我知道这确实是一个奇怪的问题 –