相依性網路
一個由相依性關係連結起來的任務清單。要執行一個任務,您會呼叫它的相依性,將這些任務當作先決條件來執行。
建構軟體系統是軟體開發人員常見的困境。在不同的時間點,您可能會想做不同的事情:只編譯程式,或執行測試。如果您想執行測試,您需要先確認您的編譯是最新的。為了編譯,您需要確認您已執行一些程式碼產生。
相依性網路將功能組織成一個有向無環圖 (DAG) 的任務及其對其他任務的相依性。在上述情況中,我們會說測試任務依賴於編譯任務,而編譯任務依賴於程式碼產生任務。當您要求一個任務時,我們會先找出它所依賴的任何任務,並在需要時確保它們先執行。我們可以瀏覽相依性網路,以確保執行請求任務所需的所有先決條件任務。我們還可以確保即使一個任務透過不同的相依性路徑出現多次,它仍然只會執行一次。
更多詳細資訊,請參閱 DSL 書籍 的第 49 章