依赖注入(DI)和控制反转(IOC)回顾

Posted 伯牙绝音

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了依赖注入(DI)和控制反转(IOC)回顾相关的知识,希望对你有一定的参考价值。

  在java开发中广泛的使用了IOC的思想,在php中同样也在广泛使用。

1 interface Coder
2 {
3     public function coding();
4 }

实现类Javaer

 1 class Javaer implements Coder
 2 {
 3     var $name;
 4 
 5     public function __construct($name)
 6     {
 7         $this->name = $name;
 8     }
 9     public function coding()
10     {
11         echo "$this->name.is coding java code.<br>";
12     }
13 }

实现类Phper

 1 class Phper implements Coder
 2 {
 3     var $name;
 4 
 5     public function __construct($name)
 6     {
 7         $this->name = $name;
 8     }
 9     public function coding()
10     {
11         echo "$this->name.is coding php code.<br>";
12     }
13 }

业务逻辑类Task

 1 class Task
 2 {
 3     var $name;
 4     var $owner;
 5     
 6     public function __construct($name)
 7     {
 8         $this->name = $name;
 9     }
10     
11     public function setOwner($owner){
12         $this->owner = $owner;
13     }
14 
15     public function start()
16     {
17         echo "$this->name.started!<br>";
18         $this->owner->coding();
19     }
20 }

测试

1         $task = new Task("Task #1");
2 //        $owner = new Phper("xiaohb");
3         $owner = new Javaer("xiaoxiao");
4         $task->setOwner($owner);
5         $task->start();

代码的可维护和拓展性显而易见了

 

以上是关于依赖注入(DI)和控制反转(IOC)回顾的主要内容,如果未能解决你的问题,请参考以下文章

控制反转(IOC)和依赖注入(DI)的区别

Spring_IOC控制反转和DI依赖注入

spring IOC(控制反转)及DI(依赖注入)

PHP 依赖注入(DI) 和 控制反转(IoC)

spring核心思想:IOC(控制反转)和DI(依赖注入)

控制反转(IOC)和依赖注入(DI)的区别