日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame框架設(shè)計-隱式與顯式初始化

我們知道在程序啟動時會需要執(zhí)行一些"初始化"的邏輯操作,例如:?Server?配置、各種數(shù)據(jù)庫(?MySQL?、?Redis?、?Kafka?等)配置、業(yè)務(wù)對象配置等等。絕大多數(shù)場景下,我們有兩種初始化方式:隱式初始化和顯式初始化。

創(chuàng)新互聯(lián)主營南溪網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),南溪h5小程序定制開發(fā)搭建,南溪網(wǎng)站營銷推廣歡迎南溪等地區(qū)企業(yè)咨詢

一、隱式初始化

隱式初始化一般通過包初始化方法?init?執(zhí)行初始化。需要注意的是,如果初始化邏輯存在錯誤的可能,由于?init?方法的錯誤無法被上層捕獲,初始化出錯時往往直接終止程序啟動。例如:

隱式初始化出錯時往往直接終止程序啟動

隱式初始化的好處是不需要手動調(diào)用初始化方法,對于開發(fā)者隱藏了初始化細(xì)節(jié),因此開發(fā)者沒有心智負(fù)擔(dān)。但是缺點也同樣如此,開發(fā)者不知道初始化細(xì)節(jié),一旦出現(xiàn)錯誤時,很難快速定位錯誤原因。因此使用隱式初始化時,往往要求在初始化出錯時將詳細(xì)的錯誤以及堆棧信息打印出來便于錯誤定位。

?GOFrame?框架的很多模塊都采用了隱式初始化,隱藏模塊的初始化細(xì)節(jié),減少開發(fā)者的心智負(fù)擔(dān)。例如:

?GoFrame?中的模塊普遍存在隱式初始化設(shè)計

關(guān)于包?init?方法的初始化流程:

二、顯式初始化

顯式初始化要求開發(fā)在程序啟動時,如在?main?或者?boot?模塊中,調(diào)用特定的方法來執(zhí)行初始化操作。一般來說,基礎(chǔ)組件的初始化往往采用隱式初始化多一些,因為對于使用者來講并不關(guān)心底層基礎(chǔ)模塊的初始化邏輯,而業(yè)務(wù)模塊的初始化大多數(shù)會采用顯式初始化。例如:

在?boot?包中按照順序執(zhí)行顯式初始化

在?main?包調(diào)用?boot.Boot()?方法執(zhí)行初始化

三、如何選擇

在業(yè)務(wù)場景下,非特殊必要,我們建議大家采用顯式初始化的方式,以保證更好的可維護(hù)性。


文章標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame框架設(shè)計-隱式與顯式初始化
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/dpeoocc.html