几种开发技术学习与总结

原创 2018-12-20 17:46:57 353
摘要:<?php class Person {     public function work()     {         return '挣钱';   &
<?php

class Person
{
    public function work()
    {
        return '挣钱';
    }

    public function pay()
    {
        return '花钱';
    }
}

class Son
{
    public function getInfo()
    {
        $dad = new Person();
        return '爸爸'.$dad->work();
    }
}

$son = new Son();
echo $son->getInfo();
echo '<hr>';

//1. 构造方法依赖注入
class Boy1
{

    private $dad = null;

    public function __construct(Person $dad)
    {
        $this->dad = $dad;
    }
    public function getInfo()
    {
        return '父亲'.$this->dad->work();
    }

    
}
//将实例化外部对象的语句放在了类的外部
$dad = new Person;
$boy1 = new Boy1($dad);
echo $boy1->getInfo();
echo '<hr>';

//2.普通方式依赖注入
class Boy2
{
    public function buy(Person $da)
    {
        return '爹滴'.$da->pay();
    }
}

$baba = new Person;
$boy2 = new Boy2();
echo $boy2->buy($baba);

单例模式防止资源浪费

工厂模式解决高度耦合

依赖注入在类外实例化对象以参数形式注入

方法中引用对象,通过参数的方式传递到当前类中


具体好处估计在实际项目中才能更有体会,先记下来有这么回事吧

感谢Peter的解答,希望之后的实践中,能感受到‘’一处更新, 全站可用”的爽快

批改老师:天蓬老师批改时间:2018-12-20 20:36:36
老师总结:依赖注入关键点,在于对象实例化的位置, 不在类方法中, 对象参数是通过参数方式传到方法中

发布手记

热门词条