文档章节

对服务与工厂感到困惑 - Confused about Service vs Factory

 技术盛宴
发布于 07/14 23:02
字数 388
阅读 56
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

问题:

As I understand it, when inside a factory I return an object that gets injected into a controller. 据我了解,当在工厂内部时,我返回一个被注入控制器的对象。 When inside a service I am dealing with the object using this and not returning anything. 在服务内部时,我使用this处理对象而不返回任何内容。

I was under the assumption that a service was always a singleton , and that a new factory object gets injected in every controller. 我假设服务总是单例 ,并且每个控制器都会注入一个新的工厂对象 However, as it turns out, a factory object is a singleton too? 然而,事实证明,工厂对象也是单身人士?

Example code to demonstrate: 用于演示的示例代码:

var factories = angular.module('app.factories', []);
var app = angular.module('app',  ['ngResource', 'app.factories']);

factories.factory('User', function () {
  return {
    first: 'John',
    last: 'Doe'
  };
});

app.controller('ACtrl', function($scope, User) {
  $scope.user = User;
});

app.controller('BCtrl', function($scope, User) {
  $scope.user = User;
});

When changing user.first in ACtrl it turns out that user.first in BCtrl is also changed, eg User is a singleton? 当改变user.firstACtrl事实证明, user.firstBCtrl也发生了变化,例如, User是单身?

My assumption was that a new instance was injected in a controller with a factory? 我的假设是在一个带有工厂的控制器中注入了一个新实例?


解决方案:

参考一: https://stackoom.com/question/vkBQ/对服务与工厂感到困惑
参考二: https://oldbug.net/q/vkBQ/Confused-about-Service-vs-Factory
粉丝 0
博文 2410
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
Hbase的Windows访问接口库--libhbase4win

libhbase4win是基于Thrift的Hbase的Windows访问接口库,开发工具使用VS2010,Hadoop版本为1.1.0,Hbase版本为0.94.0,thrift版本0.9.0,执行编译需要boost和thrift支持。...

张子良
2013/03/06
770
0
游戏开发者后端服务--OpenKit

OpenFeint 关门大吉后,OpenFeint 创始人推出了开源项目 OpenKit。OpenKit 支持Unity 3D游戏引擎,并未 iOS 和 Android 的游戏开发者提供开源 API以及存储、数据同步服务。OpenKit 目前提供對...

匿名
2013/03/11
3K
0
全新Web编程的js框架--Flapjax

Flapjax是一种全新的、为满足基于客户端的Web应用的需求而设计的一种js框架。其主要特点包括: 事件驱动, 反应评价 基于web service的事件流抽象 提供web service扩展接口 Flapjax简单易学:...

匿名
2013/04/05
789
0
阿里云开放存储服务的C语言SDK--OSSC

OSSC(Aliyun Open Storage Service C SDK)为阿里云开放存储服务(OSS)提供了一套完整易用的C SDK。 OSSC完全采用C语言开发,并实现了类似面向对象的调用方式,遵循了良好的编码规范,目前O...

大卷卷
2012/10/22
4.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

【实用技巧】MAC苹果电脑怎么远程?

一般电脑远程包括三方面: 1、如果从外部windows或者linux终端连接到mac苹果电脑; 2、从苹果电脑内如何远程外面的windows、linux和mac等; 3、苹果和安卓手机怎么远程连接苹果/Windows电脑。...

osc_doeya1ck
6分钟前
0
0
虚拟主机和VPS主机有哪些不同点呢

虚拟主机是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。vps主机是将一台服务器分割成多个虚拟专享服务器的服务。实现VPS的技术分为容器技术和虚拟机技术...

osc_b88oux8w
7分钟前
0
0
合理的使用MySQL乐观锁与悲观锁

针对 MySQL的乐观锁与悲观锁的使用,基本都是按照业务场景针对性使用的。针对每个业务场景,对应的使用锁。 但是两种锁无非都是解决并发所产生的问题。下面我们来看看如何合理的使用乐观锁与...

php开源社区
8分钟前
0
0
fusionpbx 中文 汉化

  自己以前有从事过呼叫中心的工作经验,然而由于自己是从事后端开发,对于前端界面的开发还是有些吃力,但是自己却又想自己搭建一套呼叫中心,所以购买了一台云服务器并克隆了FusionPBX的...

osc_ydeb2o99
9分钟前
0
0
关于大O表示法和小O表示法

上节课老师讲了一下各种表示法,当时没咋听懂,后来查了一些资料弄懂了,记录一下。 主要是从维基百科上看的。http://en.wikipedia.org/wiki/Big_O_notation 大O表示法: f(x) = O(g(x)) 表示...

osc_3mzamgkq
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部