请问对象池跟依赖注入的区别???

请问对象池跟依赖注入的区别???

wangchunbo
最佳答案

对象池简单理解

这里简单说一下吧: 详细的可以看我的文章:博客:PHP 设计模式答疑-对象池与依赖注入的区别

对象池应用场景

对像池主在对象创建开销较大或要控制对象数量的时候使用。最常见的对象池应该是数据库连接池和线程池。

例如:

程序需要数据库连接时从连接池中取一个(连接池里有多个连接),用完了不是关闭连接而是把连接放回连接池给其他程序使用。

一个对像池通常只放同一类的对象。

依赖注入简单理解

什么是依赖注入

依赖注入,是指对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。

例如:

A对象需要引用B对象的话,可以在A的构造函数里面将B传递进去,或者调用A的某个set方法。

通俗一点就是已经new好了, 要用直接取拿。

依赖注入与对象池的区别

  1. 都是节约开销。
  2. 都是拿来就用,不需要自己new
  3. 对象池,不用了,放回去,会自动归还和淘汰对象
  4. 依赖注入,是用的时候主动帮你挂上你要的依赖。没归还和自动淘汰这一说
  5. 一个对像池通常只放同一类的对象。
4年前 评论
golang练习生 (楼主) 4年前
wangchunbo (作者) 4年前
讨论数量: 1
wangchunbo

对象池简单理解

这里简单说一下吧: 详细的可以看我的文章:博客:PHP 设计模式答疑-对象池与依赖注入的区别

对象池应用场景

对像池主在对象创建开销较大或要控制对象数量的时候使用。最常见的对象池应该是数据库连接池和线程池。

例如:

程序需要数据库连接时从连接池中取一个(连接池里有多个连接),用完了不是关闭连接而是把连接放回连接池给其他程序使用。

一个对像池通常只放同一类的对象。

依赖注入简单理解

什么是依赖注入

依赖注入,是指对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。

例如:

A对象需要引用B对象的话,可以在A的构造函数里面将B传递进去,或者调用A的某个set方法。

通俗一点就是已经new好了, 要用直接取拿。

依赖注入与对象池的区别

  1. 都是节约开销。
  2. 都是拿来就用,不需要自己new
  3. 对象池,不用了,放回去,会自动归还和淘汰对象
  4. 依赖注入,是用的时候主动帮你挂上你要的依赖。没归还和自动淘汰这一说
  5. 一个对像池通常只放同一类的对象。
4年前 评论
golang练习生 (楼主) 4年前
wangchunbo (作者) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!