Angularjs 使用返回对象而不是使用DI的服务是角度反模式吗?

Angularjs 使用返回对象而不是使用DI的服务是角度反模式吗?,angularjs,anti-patterns,angularjs-injector,Angularjs,Anti Patterns,Angularjs Injector,我在工作中遇到过这样一种情况:开发人员创建了一个角度服务,该服务返回一个对象的钩子,然后用于创建实例。像这样的 var Item; Item = function($q) { return Item = (function() { function Item(data) { .... } }) } 然后在控制器中 function ItemImport($q){ this.myItem = new this.Item(data); } 这就

我在工作中遇到过这样一种情况:开发人员创建了一个角度服务,该服务返回一个对象的钩子,然后用于创建实例。像这样的

var Item;
Item = function($q) {
  return Item = (function() {
    function Item(data) {
       ....
    }
  })
}
然后在控制器中

 function ItemImport($q){
     this.myItem = new this.Item(data);
 }
这就是使用单例来专门创建一个实例,这在我看来是错误的。我想这样会更好

 function ItemImport($q, Item){
     this.data = {}
     Item.data = this.data
 }
这是反模式吗?或者这只是创建服务的另一种方式