到目前, 我們的討論已來到乙個模組載入的重要方面: 競爭情況.
如果你在如何編寫你的初始化函式上不小心, 你可能造成威脅到整個系統的穩定的情形. 我們將在本書稍後討論競爭情況;
現在, 快速提幾點就足夠了:
首先你應該一直記住, 核心的某些別的部分會在註冊完成之後馬上使用任何你註冊的設施. 這是完全可能的, 換句話說, 核心將呼叫進你的模組, 在你的初始化函式仍然在執行時. 所以你的**必須準備好被呼叫, 一旦它完成了它的第乙個註冊. 不要註冊任何設施,直到所有的需要支援那個設施的你的內部初始化已經完成.
你也必須考慮到如果你的初始化函式決定失敗會發生什麼, 但是核心的一部分已經在使用你的模組已註冊的設施. 如果這種情況對你的模組是可能的, 你應當認真考慮根本不要使初始化失敗. 畢竟, 模組已清楚地成功輸出一些有用的東西. 如果初始化必須失敗, 必須小心地處理任何可能的在核心別處發生的操作, 直到這些操作已完成.
載入helloworld模組
include include if config modversions 1 define modversions include endif include include include module license gpl static int hello init void static ...
Odoo模組載入
odoo的啟動是通過openerp server指令碼完成,它是系統的入口。然後載入配置檔案openerp server.conf 或者 openerp serverrc openerp server.conf的主要內容 這個檔案預設是沒有的,odoo系統會有乙個預設值,但是一般情況我們都需配置這個...
angular模組載入
1.配置 在模組的載入階段,angularjs會在提供者註冊和配置的過程中對模組進行配置。需要特別注意,angularjs會以這些函式書寫和註冊的順序來執行它們。當對模組進行配置時,需要格外注意只有少數幾種型別的物件可以被注入到config 函式中 提供者和常量。2.執行塊 和配置塊不同,執行塊在注...