首页 > 作文

依赖注入与哪些事情无关?

更新时间:2023-04-08 14:00:12 阅读: 评论:0

任何你使用的现代框架,都可能严重依赖于依赖注入。但是你知道依赖注入代表的真正含义吗?或者换一个更好的角度 – 你知道依赖注入不是什么吗?

依赖容器

虽然每个现代框架都附带依赖容器 — 一个用于构建对象的大盒子 — 但这并不能保证你会按照预期的方式使用依赖注入模式。

容器让依赖项更加容易注入到类中,但是它也可能被滥用。

服务定位器模式

一种滥用服务容器的方式是从容器中拉取对象,而不是注入到当前健康反义词的上下文中。该模式称之为服务定位器模式,它与依赖注入相反。

class mycontroller{  冠词的用法  public function indexaction()    {        $rvice = app(rvice::class);        // …            }}

  

服务定位器模式向容器请求特定的对象。这将导致服务从一个难以测试的点拉取,并且,对于外部而言这就像一个黑匣子:除非你查看全部相关代码,否则你将无法了解 mycontroller 所依赖的外部类型。

一些框架提倡这种用法,因为在项目开始的时候它将变得简单快捷。一旦在容器中注册了成百上千个类,使用服务定位器模式将会导致混乱。而使用依赖注入将解决该问题。

更多信息,可查看我写的这篇博客: 为什么服务定位器模式是反模式.

依赖共享

接下来是一些更积极的方面:以一种更好的方式使用容器。

当依赖注入被正确使用时,外部上下文 (在许多情况下为容器) 可以控制注入到类中的具体依赖项。 这意味着同一个对象可以被注入到其他几个上下文中,而不需要知道这些上下文是「单例」还是「依赖共享」。

虽然依赖共享是有用且强大的,但它并不是依赖注入的真正目的,而只是一个有益的副作用。

自动装配

最后,另一个有用的特性,同样不是依赖注入的内容:自动装配。

为了给予开发人员更多的灵活性,一些容器允许智能的、自动的确定类的定义。这意味着您不必手动描述应该如何构造每个类。这些容器将扫描您的代码,并通过查看类型提示和文档块来确定需要哪些依赖项。

这里发生了很多神奇的事情,但是自动装配对于应用程序的快速开发来说是一个非常有用的工具。

如果您现在还想重温一下什么是依赖注入的基础知识。你可以去阅读它这里.

更多学习内容请访问:

腾讯t3-t4标准精品php架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)

以上内容希望帮助请示函到大家,很多p封面恋人hper在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,cpu风扇加油对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、tp6,laravel,yii2,redis,swoole、swoft、kafka、mysql优化、shell脚本、docker、微服务、nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的官方群点击此处。

本文发布于:2023-04-08 14:00:10,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/ac348f1cf15da5e53abf7cbe329a76f2.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:依赖注入与哪些事情无关?.doc

本文 PDF 下载地址:依赖注入与哪些事情无关?.pdf

标签:容器   定位器   模式   进阶
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图