- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
首先,我想将此问题仅限于 Web 开发。因此,只要该语言用于 Web 开发,这就是语言不可知的。就个人而言,我是从 PHP 背景而来的。
通常我们需要使用来自多个作用域的对象。例如,我们可能需要在正常范围内使用数据库类,但也需要从 Controller 类中使用。如果我们在正常范围内创建数据库对象,那么我们无法从 Controller 类内部访问它。我们希望避免在不同的范围内创建两个数据库对象,因此需要一种无论范围如何都可以重用数据库类的方法。为此,我们有两个选择:
$this->registry->router->registry->database
从数据库类内部`)。
$this->registry->object->method()
而不是
$registry->object->method()
的注册表对象。现在这显然不是一个大问题,但如果它没有给我任何关于全局方法的东西,它似乎没有必要。
最佳答案
让我们一一解决这个问题。
Firstly, the registry class will contain huge amounts of recursion
Notice that the global registry does not suffer from this as it is not passed into anything.
Secondly, I will start passing large amounts of data to objects that don't need it. My database doesn't care about my router but the router will get passed to the database along with the database connection details.
I could do $this->registry->router->registry->database
database
来自
$this
通过
router
,但您将能够访问
database
直接地。当然。这是一个注册表。这就是你写它的目的。如果您想将注册表存储在您的对象中,您可以将它们包装到一个只允许访问其中包含的数据子集的隔离接口(interface)中。
Obviously, these problems don't exist when I use DI without a registry but then I have to pass every object 'manually', resulting in class constructors with a ridiculous number of parameters.
Given these issues with both versions of DI, isn't a global registry superior? What am I losing by using a global registry over DI?
One thing that is often mentioned when discussing DI vs Globals is that globals inhibit your ability to test your program properly. How exactly do globals prevent me from testing a program where DI would not?
I have read in many places that this is due to the fact that a global can be altered from anywhere and thus is difficult to mock
关于php - 哪个更好 : Dependency Injection+Registry or Dependency Injection or Global Registry?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525238/
我的 Dojo 应用程序包含几个小部件,它们都在 dijit.registry(dijit.WidgetSet 的一个实例)中自动注册。我想利用 filter() ( Link ) 或 map() (
yarn 添加 v1.3.2 [1/4] 解析包... 错误 发生意外错误:“https://registry.yarnpkg.com/react:getaddrinfo EAI_AGAIN regi
我知道 Docker Hub,而且我知道您可以在其上创建自己的存储库。 但是,当您想创建多个私有(private) repo 时,您必须付费。 所以我想要我自己的使用自签名证书的 Docker Reg
在 boostrapper package.xml 中,我试图从注册表中读取 MSSQL 条目,例如: 运行结果 setup.exe 后,我在日志中得到: “正在读取注册表项 'HKLM
每当我尝试将容器从本地计算机推送到 Google Container Registry 时,都会收到以下错误: denied: Unable to access the repository; ple
我的示例问题是 Vaclav .我已经按照 GCR 快速入门开始了这封信,其中需要创建一个新项目(称为 gcr-project)并复制 Flask(python)应用程序的代码。 构建docker镜像
不确定 SO是提出以下问题的正确论坛。如果不是,请将它们移到正确的位置。 我想设置一个 Docker Private Registry, 但是在阅读了 Docker 的文档(和 related SO
目前,我们的 CI/CD 环境是基于 Kubernetes 的云。 由于性能优势,Kubernetes 云提供商最近删除了 docker 守护程序。例如,Google Kubernetes Engin
我在 output1 和 output2 中得到了不同的结果。第一个给了我在注册表中实际看到的值,而后者只给了我默认值。我想念什么? String output1 = Registry.GetValu
我正在为 Inno Setup 中的程序编写安装程序。我的程序使用网页和 Internet Explorer 与之交互。 我的一些查询需要超过 10 秒,我注意到在我 friend 的计算机上,他有一
我正在为 docker 编写一个 API 客户端,而注册表 API 很难使用。我正在尝试从注册表中删除图像,但是我不断收到此错误 [ { code: 'UNSUPPORTED', message: '
我目前正在尝试通过 Java 应用程序查询和设置一些 Windows 注册表项。我们被授权使用 JNI-Registry 库(出于许可原因)。要设置的键和值不在我的控制之下(我正在修改由另一个第 3
首先,我想将此问题仅限于 Web 开发。因此,只要该语言用于 Web 开发,这就是语言不可知的。就个人而言,我是从 PHP 背景而来的。 通常我们需要使用来自多个作用域的对象。例如,我们可能需要在正常
Google Container Registry documentation解释说为了将图像拉入和推送到 gcr.io,您必须添加前缀 docker push和 pull带有 gcloud prev
我在使用 npm 安装 Cordova 时遇到问题。 从这里找到的答案,诀窍是运行 npm set registry https://registry.npmjs.org/这个命令究竟做了什么,为什么
我们有一个用于 Python 包的 Google Artifact Registry。鉴权工程like this .在本地运行良好。 但是,当我想要构建需要从我们的私有(private)注册表安装包的
我使用 GCR 来存储我团队的私有(private) docker 注册表。我有一个 docker 图像,我想公开显示,以便多个项目可以使用它/与客户共享/等等。 如何在 Google 的 Conta
我有 表 和 标签 具有多对多关系,以及连接表 post_tags。如果帖子有一个特定的标签名称,我想从帖子中返回所有标签。 这个想法是按特定标签过滤所有帖子。 我是这样做的: const posts
Registry 类和Naming 类有什么区别。 在我的应用程序中,我使用了 Registry 类。但我想了解 Naming 类及其用途? 最佳答案 区别在于Naming是一个带有静态方法的工具类,
我在公司网络上工作。 尝试安装 npm. 但我一次又一次地收到此错误。 $ npm install npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Pr
我是一名优秀的程序员,十分优秀!