在C++中,沒有事實上的標準日誌記錄工具。根據我的經驗,店鋪推出自己的產品。但是,當嘗試創建可重用的軟件組件時,會產生一些問題。如果系統中的所有內容都依賴於日誌記錄組件,那麼這會使軟件的可重用性降低,基本上迫使任何下游項目都將日誌框架與他們真正想要的組件結合在一起。C++日誌框架會犧牲可重用性嗎?
IOC(依賴注入)並不真正幫助解決問題,因爲您的組件需要依賴於日誌抽象。記錄組件本身可以添加對文件I/O的依賴關係,觸發機制以及其他可能不需要的依賴關係。
是否向您的專有日誌記錄框架添加依賴項會犧牲組件的可重用性?
+1,我自己在這個確切的情況下,我的項目的主要實現有一個抽象的日誌框架,記錄我想要的附加信息......但它使用的庫也有一個(不同的)日誌框架,但幸運的是,幸運的是,他們也期望一個封裝框架的對象被傳入...所以我建立一個對象,按照我當前的日誌框架實現它,然後離開我去! – Arafangion 2010-12-03 12:55:06