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();
奥利给

浙公网安备 33010602011771号