所以我一直在試圖圍繞xerces XML庫創建一些類,以便從其餘的項目中'隱藏'它的基礎xml庫保持獨立於我的其餘部分項目。用於XML庫的C++'包裝類'
這應該是一個相當簡單的任務,但是通過編寫一些類來隱藏某個庫的其餘部分似乎完全不可能。
我得到了錯誤的方法,還是我的'包裝'的想法完全愚蠢?
我結束了這樣的事情:
DOMElement* root(); //in my 'wrapper' class, however this DOMElement is part of the xerces library, at this point my 'wrapper' is broken. Now I have to use the xerces library everywhere I want to use this function.
哪裏是我的思維出了問題?
你在用XML做什麼?我想問的原因是這樣的,而不是包裝XML庫並將包裝類暴露給您的代碼,爲什麼不實現一個更簡單的對象模型來存儲您在XML中存儲的內容並公開它 - 然後有一個乾淨的接口可以保持/從XML中提取該對象模型? – Nim 2010-12-14 08:43:01
@Nim,XML用於通過網絡連接與客戶端進行通信。它將XML字符串保留爲xml的某種「格式」,我只需要在獲取請求時將其分開,並將其與答案放在一起。 – 2010-12-14 08:44:55
所以我會說它在整個項目中的角色並不是很大,但它仍然必須在那裏,因爲我無法改變客戶端的東西。 – 2010-12-14 08:45:39