IoC、DI以及IoC容器

面向对象设计(OOD)有助于我们开发出高性能、易扩展以及易复用的程序。其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC、DI以及Ioc容器等概念。通过本文我们将一起学习这些概念,并理清他们之间微妙的关系。

 

<?php

/**
* 依赖注入测试
* Class computer
* 电脑硬件类
*/
class computer
{
private $model;
private $powerOn = true;

public function __construct($model)
{
$this->model = $model;
}

/**
* 电脑使用鼠标
*/
public function useMouse()
{
(new UsbHub())->paintWithMouse($this->model);
}

/**
* 电脑使用键盘
*/
public function useKeyworld()
{

}
}


class UsbHuba
{
public function writeCode($computer_model)
{
// 果真写代码!
echo "电脑 {$computer_model} 已开机,我正在疯狂写代码<br>";
}

public function paintWithMouse($computer_model)
{
// 鼠标画图
echo "电脑 {$computer_model} 已开机,我正在构建灵感美学<br>";
}

public function storageWithUDisk($computer_model)
{
// U 盘存储
echo "电脑 {$computer_model} 已开机,我用 U 盘存了...(不可描述)<br>";
}

}
class UsbHubc
{
public function writeCode($computer_model)
{
// 果真写代码!
echo "电脑 {$computer_model} 已开机,我正在疯狂写代码<br>";
}

public function paintWithMouse($computer_model)
{
// 鼠标画图
echo "电脑 {$computer_model} 已开机,我正在构建灵感美学<br>";
}

public function storageWithUDisk($computer_model)
{
// U 盘存储
echo "电脑 {$computer_model} 已开机,我用 U 盘存了...(不可描述)<br>";
}

}


(new computer('点燃一支寂寞'))->useMouse();

posted @ 2021-08-09 15:17  水利万物而不争  阅读(72)  评论(2)    收藏  举报