摘要:假如你老板叫你做一件事。你說可以,但是我需要一些工具。老板你要的工具我后面會提供給你,現在你馬上寫個計劃。
假如你老板叫你做一件事(doWork)。
你說:可以,但是我需要一些工具(tool1, tool2)。
老板:你要的工具我后面會提供給你,現在你馬上寫個計劃。
然后,你就可以這樣寫:
function doWork(tool1, tool2){ // 現在你有可用的 `tool1, 2` 啦 // 比如,它們可能都是函數: tool1(); tool2(); console.log("Completed!"); }
但是現在你還不能開始做事(doWork()),因為你都沒有 tool1 和 tool2. 你需要老板為你提供這些工具,老板是這樣的:
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); } }
現在,萬事俱備:
// 注入依賴: const doWorkWithTools = boss.provide(doWork); // 現在你的 `doWork` 已經擁有 `tool1, 2` 啦: doWorkWithTools();
依賴注入的模式都是類似這樣的,就是定義一個函數實現你的功能,把你所需要的依賴定義成這個函數的參數。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/89485.html
摘要:提升自己,方便他人。其實一份文檔,說到底是為自己減輕工作量。總結總結起來,我們在提供一個通用包的時候,應該考慮以下七個點文檔。支持的類反射獲取參數名面向接口編程。一個注解,快速整合 聲明:本文屬原創文章,首發于公號程序員自學之道,轉載請注明出處 遇到槽點 開發實踐中,對于開發一個 jar 包,很多人都只是完成功能,只要功能使用沒問題,就算是完事了,但其實遠遠不夠。當用戶使用 jar 包...
摘要:是一個記錄當前應用所受威脅情況的項目。怎么做呢用參數化查詢對數據格式化,并使查詢語句與數據分離。使用參數化查詢,可以確保程序遠離注入風險。例子如下除此之外,還有一種安全的做法,就是在項目中使用對象關系映射或者是查詢構造器。 showImg(https://segmentfault.com/img/remote/1460000018641613?w=1680&h=859); OWASP?...
閱讀 1304·2021-11-22 09:34
閱讀 2168·2021-10-08 10:18
閱讀 1729·2021-09-29 09:35
閱讀 2461·2019-08-29 17:20
閱讀 2141·2019-08-29 15:36
閱讀 3407·2019-08-29 13:52
閱讀 783·2019-08-29 12:29
閱讀 1188·2019-08-28 18:10