亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

什么是依賴注入?你可能天天都在用

XFLY / 3003人閱讀

摘要:假如你老板叫你做一件事。你說可以,但是我需要一些工具。老板你要的工具我后面會提供給你,現(xiàn)在你馬上寫個計劃。

假如你老板叫你做一件事(doWork)。

你說:可以,但是我需要一些工具(tool1, tool2)。

老板:你要的工具我后面會提供給你,現(xiàn)在你馬上寫個計劃。

然后,你就可以這樣寫:

function doWork(tool1, tool2){
  // 現(xiàn)在你有可用的 `tool1, 2` 啦
  // 比如,它們可能都是函數(shù):
  tool1();
  tool2();
  console.log("Completed!");
}

但是現(xiàn)在你還不能開始做事(doWork()),因為你都沒有 tool1tool2. 你需要老板為你提供這些工具,老板是這樣的:

const boss = {
  tool1: function(){console.log("Using Tool 1...");},
  tool2: function(){console.log("Using Tool 2...");},
  provide: function(doWork){
    return () => doWork(this.tool1, this.tool2);
  }
}

現(xiàn)在,萬事俱備:

// 注入依賴:
const doWorkWithTools = boss.provide(doWork);

// 現(xiàn)在你的 `doWork` 已經(jīng)擁有 `tool1, 2` 啦:
doWorkWithTools();

依賴注入的模式都是類似這樣的,就是定義一個函數(shù)實現(xiàn)你的功能,把你所需要的依賴定義成這個函數(shù)的參數(shù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/89485.html

相關(guān)文章

  • 【極致】一個 jar 包的自我修養(yǎng)

    摘要:提升自己,方便他人。其實一份文檔,說到底是為自己減輕工作量??偨Y(jié)總結(jié)起來,我們在提供一個通用包的時候,應(yīng)該考慮以下七個點文檔。支持的類反射獲取參數(shù)名面向接口編程。一個注解,快速整合 聲明:本文屬原創(chuàng)文章,首發(fā)于公號程序員自學(xué)之道,轉(zhuǎn)載請注明出處 遇到槽點 開發(fā)實踐中,對于開發(fā)一個 jar 包,很多人都只是完成功能,只要功能使用沒問題,就算是完事了,但其實遠(yuǎn)遠(yuǎn)不夠。當(dāng)用戶使用 jar 包...

    pumpkin9 評論0 收藏0
  • PHP 項目中單獨使用 Laravel Eloquent 查詢語句來避免 SQL 注入

    摘要:是一個記錄當(dāng)前應(yīng)用所受威脅情況的項目。怎么做呢用參數(shù)化查詢對數(shù)據(jù)格式化,并使查詢語句與數(shù)據(jù)分離。使用參數(shù)化查詢,可以確保程序遠(yuǎn)離注入風(fēng)險。例子如下除此之外,還有一種安全的做法,就是在項目中使用對象關(guān)系映射或者是查詢構(gòu)造器。 showImg(https://segmentfault.com/img/remote/1460000018641613?w=1680&h=859); OWASP?...

    dayday_up 評論0 收藏0
  • 與vim的一段往事

    摘要:而函數(shù)跳轉(zhuǎn)的那個問題也類似,一直也沒有找到一個完美的解決方案。嘗到甜頭之后,開始嘗試把公司的項目往上面遷,結(jié)果開發(fā)效率有了極大的提升,而更關(guān)鍵的是寫代碼變成了一件愉快的事情。 這就要從大學(xué)里面學(xué)c語言說起了,那個時候我們還在用古老的 visual c++ 6.0(滿滿的回憶有木有……),不過我唯一的印象只剩下了,嗯,這個東西真的很丑很難用,不過還好,不久就有了 visual studi...

    syoya 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<