原创 引用 Enterprise Library 5.0 時的一個警告和運行時錯誤及解決辦法

最近在使用 Enterprise Library 5.0 時,發現一個類似如下的警告信息:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(136

原创 編寫軟件架構文檔說明

第 1 部分: 什麼是軟件架構,爲什麼爲軟件架構編寫文檔說明非常重要 軟件架構對於複雜實時系統的開發已日益變得更加重要。在這個新的系列中,瞭解爲什麼以及應該如何編寫軟件架構文檔說明。您將瞭解爲任何中大型軟件開發項目編寫文檔說明的五個不同視

原创 More Exceptional C++ 目錄

泛型程序設計與C++標準庫 條款1:流條款2:Predicates,之一:remove() 刪除了什麼?條款3:Predicates,之二:狀態帶來的問題條款4:可擴充的模板:使用繼承還是 traits?條款5:typename條款6:容

原创 傳輸層的各種模式——ZeroMQ 庫的使用

最近在研究 ZeroMQ 庫的使用,所以在這裏總結一下各種模式,以便日後拿來使用。 關於 ZeroMQ 庫,我就不多介紹了,大家可以參考下面一些文章,以及他的官網、使用指南、API 參考、項目倉庫等內容。 開源點評:ZeroMQ簡介 Ze

原创 C++編程規範 名字空間與模塊

第57條 將類型及其非成員函數接口置於同一名字空間中 非成員也是函數:如果要將非成員函數(特別是操作符和輔助函數)設計成類 X 的接口的一部分,那麼就必須在與 X 相同的名字空間中定義它們,以便正確調用。 詳細: 1、公有成員函數和非成員

原创 C++編程規範 類型安全

類型安全 返回 目錄 返回《C++ 編程規範及慣用法》

原创 Entity Framework 之領域驅動設計實踐

  最近在瞭解實體框架(Entity Framework)和領域驅動設計(Domain Drivern Design),找到了一個非常好的文章,故收集在此,以便以後再次查閱。 EntityFramewor

原创 C++編程規範 STL: 容器

STL: 容器 返回 目錄 返回《C++ 編程規範及慣用法》

原创 C++11 下使用 Boost.Serialization 庫實現智能指針的序列化

最近在 Visual Studio 2010 下,使用 C++11 的新特性進行一些開發的時候,在用到 Boost.Serialization 庫實現序列化的時候遇到了問題。C++11 的標準庫已經提供了原來在 Boost 庫下面的智能指

原创 C++編程規範 組織和策略問題

第0條 不要拘泥於小節(又名:瞭解那些東西不應該標準化) 只規定需要規定的事情:不要強制施加個人喜好或者過時的做法。 詳細: 1、應該使用縮進來體現代碼的結構。建議每個縮進使用4個空格或者設置編輯器的製表符大小爲4個空格,並且應該在每個文

原创 C++編程規範 構造、析構與複製

第47條 以同樣的順序定義和初始化成員變量 與編譯器一致:成員變量初始化的順序要與類定義中聲明的順序始終保持一致;不用考慮構造函數初始化列表中編寫的順序。要確保構造函數代碼不會導致混淆地指定不同的順序。 詳細: 1、違反的危害性很大,而且

原创 C++編程規範 類的設計與繼承

第32條 弄清所要編寫的是那種類 瞭解自我:有很多種不同的類。弄清楚要編寫的是哪一種。 詳細: 1、值類模仿的是內置類型,應該:有一個公用析構函數,複製構造函數和帶有值語義的賦值。沒有虛擬函數(包括析構函數)。是用作具體類,而不是基類(見

原创 Exceptional C++ 目錄

第1章 泛型程序設計與 C++ 標準庫 條款1:迭代器條款2:大小寫不敏感的字符串——之一條款3:大小寫不敏感的字符串——之二條款4:可重用性最大的泛型容器——之一條款5:可重用性最大的泛型容器——之二條款6:臨時對象條款7:標準庫的使用

原创 C++編程規範 函數與操作符

第25條 正確地選擇通過值、(智能)指針或者引用傳遞參數 正確選擇參數:分清輸入參數、輸出參數和輸入/輸出參數,分清值參數和引用參數。正確地傳遞參數。 詳細: 1、對於只輸入參數:始終用 const 限制所有指向只輸入參數的指針和引用;優

原创 C++編程規範 編程風格

第14條 寧要編譯時和連接時錯誤,也不要運行時錯誤 能夠在編譯時做的事情,就不要推遲到運行時:編寫代碼時,應該在編譯期間使用編譯器檢查不變式(invariant),而不應該在運行時再進行檢查。運行時檢查取決於控制流和數據的具體情況,這意味