【发布时间】:2016-07-12 02:51:21
【问题描述】:
昨天听同事说angular中的工厂和工厂模式不一样。我很好奇这是否是一个有效的陈述以及为什么。
通常工厂会为您创建一个对象的实例。从我们的代码来看,工厂看起来像是一个包装器或对象,也可以为相关的 Web 服务调用,例如 GET、PUT、POST、PATCH、DELETE。在某些情况下,情况会有所不同,但在大多数情况下,它看起来像是有助于与相关 Web 服务交互的东西。
拥有一个仅基于“GET”返回对象的工厂似乎更符合传统的工厂模式,但我们处理其他动词的事实让我认为这是偏离模式的地方。
有人可以确认这是否是使用角度工厂的标准方法,如果是,我的直觉/想法是否正确,或者我是否遗漏了什么?
更新
请求提供关于我在说什么的代码。我在谷歌上搜索了一些角度工厂的例子,看看其他人是否在做与我在工作中看到的类似的事情。我找到了以下示例:http://weblogs.asp.net/dwahlin/using-an-angularjs-factory-to-interact-with-a-restful-service
当您查看示例时,您会注意到“dataFactory”不仅有一个 GET,它还有其他 HTTP 动词。这是用户群的不良做法,还是使用它的标准方式以及工厂与设计模式不同?
【问题讨论】:
-
你真的应该用代码来澄清你所说的 AngularJS 工厂是什么意思。
-
喜欢引用
module().factory?很确定这是一个常见的概念 -
是的,但它与 HTTP、GET、PUT 等完全无关。所以很难理解你在问什么。工厂只是一个功能,其职责是创建一个服务实例。仅此而已。
-
@JBNizet,这是我的理解,相信你已经确认了。在我看来,他们使用的东西不正确。