亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

依賴注入小案例

Original 2019-05-09 17:50:45 247
abstrakt:一、示例代碼<?phpclass Girl{    public function work()    {        return '會(huì)做飯';    }    public function hobby()    {  

一、示例代碼

<?php

class Girl
{
   public function work()
   {
       return '會(huì)做飯';
   }

   public function hobby()
   {
       return '愛購(gòu)物';
   }
}

class Boy
{
   public function getInfo()
   {
       $girl = new Girl;
       return '我的女朋友' . $girl->work();
   }
}

$boy = new Boy;
echo $boy->getInfo();
echo '<hr>';

//依賴注入:將當(dāng)前依賴的對(duì)象,以參數(shù)方式注入到當(dāng)前類中,簡(jiǎn)稱:依賴注入
//1.構(gòu)造方法實(shí)現(xiàn)依賴注入
class Boy1
{
   private $girl = null;

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

   public function getInfo()
   {
       return '我的女朋友' . $this->girl->work();
   }
}

$girl = new Girl;
$boy1 = new Boy1($girl);
echo $boy1->getInfo();
echo '<hr>';

//2.普通方法來實(shí)現(xiàn)依賴注入
class Boy2
{
   public function buy(Girl $girl)
   {
       return '我的女朋友'.$girl->hobby();
   }
}
$girl=new Girl;
$boy2=new Boy2;
echo $boy2->buy($girl);


二、運(yùn)行結(jié)果

QQ圖片20190509174559.png

三、優(yōu)勢(shì)

  1. 傳統(tǒng)的代碼,每個(gè)對(duì)象負(fù)責(zé)管理與自己需要依賴的對(duì)象,導(dǎo)致如果需要切換依賴對(duì)象的實(shí)現(xiàn)類時(shí),需要修改多處地方。

  2. 同時(shí),過度耦合也使得對(duì)象難以進(jìn)行單元測(cè)試。依賴注入把對(duì)象的創(chuàng)造交給外部去管理,很好的解決了代碼緊耦合(tight couple)的問題,是一種讓代碼實(shí)現(xiàn)松耦合(loose couple)的機(jī)制。

     3.松耦合讓代碼更具靈活性,能更好地應(yīng)對(duì)需求變動(dòng),以及方便單元測(cè)試。

Korrigierender Lehrer:查無(wú)此人Korrekturzeit:2019-05-10 14:19:29
Zusammenfassung des Lehrers:完成的不錯(cuò)。編程有很多編程方式,要多了解。繼續(xù)加油。

Versionshinweise

Beliebte Eintr?ge