PHP依赖注入容器原理及要点概述是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1180个文字,预计阅读时间需要5分钟。
依赖注入容器理解+整合+良好的代码结构设计,一个良好的设计一定是易整合的,这也是很多通用设计模式的宗旨。即将分散在各处的同一功能的代码聚集到一起,形成一个模块,然后在不同模块中复用这个模块。
依赖注入容器理解
耦合
一个好的代码结构设计一定是松耦合的,这也是很多通用设计模式的宗旨,就是把分散在各处的同一个功能的代码汇聚到一起,形成一个模块,然后在不同模块之间通过一些细小的、明确的渠道进行沟通。
在实践中,不同功能和模块之间的互相依赖是不可避免的,而如何处理好这些依赖之间的关系则是代码结构能否变得美好的关键。
<?php class User { public function register($user) { // 注册操作 ... // 发送确认邮件 $notify = new Notify(); $notify->sendEmail('register', $user); } } class Notify { public function sendEmail($type, $data) { switch $type { case 'register': // 发送注册确认邮件 $email = new Email($type); $email->send($data); ... } } } class Email { public function send($data) { // 发送邮件 } }
上述代码中,三个类之间逐层依赖,三个类实例化的顺序是 User -> Notify -> Email
也就是说我先实例化User类,可能执行了一些代码之后再去实例化我需要的其他类,比如Notify,以此类推。
本文共计1180个文字,预计阅读时间需要5分钟。
依赖注入容器理解+整合+良好的代码结构设计,一个良好的设计一定是易整合的,这也是很多通用设计模式的宗旨。即将分散在各处的同一功能的代码聚集到一起,形成一个模块,然后在不同模块中复用这个模块。
依赖注入容器理解
耦合
一个好的代码结构设计一定是松耦合的,这也是很多通用设计模式的宗旨,就是把分散在各处的同一个功能的代码汇聚到一起,形成一个模块,然后在不同模块之间通过一些细小的、明确的渠道进行沟通。
在实践中,不同功能和模块之间的互相依赖是不可避免的,而如何处理好这些依赖之间的关系则是代码结构能否变得美好的关键。
<?php class User { public function register($user) { // 注册操作 ... // 发送确认邮件 $notify = new Notify(); $notify->sendEmail('register', $user); } } class Notify { public function sendEmail($type, $data) { switch $type { case 'register': // 发送注册确认邮件 $email = new Email($type); $email->send($data); ... } } } class Email { public function send($data) { // 发送邮件 } }
上述代码中,三个类之间逐层依赖,三个类实例化的顺序是 User -> Notify -> Email
也就是说我先实例化User类,可能执行了一些代码之后再去实例化我需要的其他类,比如Notify,以此类推。

