原创 Java開發中的23種設計模式詳解

  設計模式(Design Patterns)                                   ——可複用面向對象軟件的基礎 設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類

原创 設計模式之調停者模式

1.調停者模式的意圖          定義一個對象(調停者對象),封裝一組對象(同事對象)的交互,從而降低同事對象間的耦合度,避免了同事對象間的顯示引用,並且可以獨立地改變對象的行爲。 2.爲什麼需要調停者   如下圖所示,這個

原创 STL中list,vector,deque,map,set區別、聯繫和使用場景

一、Vector:動態數組       vector和built-in數組類似,它擁有一段連續的內存空間,並且起始地址不變,因此它能非常好的支持隨機存取,即[]操作符,但由於它的內存空間是連續的,所以在中間進行插入和刪除會造成內存塊的

原创 C++中的類型轉換操作符

一、四種標準C++的類型轉換符 四個轉換符使用方法是相同的語法格式:cast-name<Type>(expression),Type是被轉換值expression的目標類型。 1. dynamic_cast:動態類型轉換,一般用在父類和子

原创 C++ 友元類

1. 什麼時候用友元類?     當希望一個類可以存取另一個類的私有成員時,可將該類聲明爲另一個類的友元類; 2. 友元類作用?     友元類的所有方法都是另一個類的友元函數,友元類可以訪問另一個類的所有成員(包括私有成員和保護成員);

原创 10個調試和排錯的小建議

在空白的文本編輯器裏打開一個嶄新的文本,沒有一行代碼,出現在眼前的是一個充滿了無限可能和希望的項目。可是,當數千行的代碼寫完之後,整個項目因爲bug的出現而被壓垮了,更別說添加什麼新功能了...這也許是對程序員的最大打擊,在飽滿的熱情

原创 設計模式之適配器模式

1. 概述   將一個現有類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以在一起工作。 2. 解決的問題   即Adapter模式使得原本由於接口不兼容而不能一起工作的那些類

原创 Python 3.x標準模塊庫目錄

文本 1. string:通用字符串操作 2. re:正則表達式操作 3. difflib:差異計算工具 4. textwrap:文本填充 5. unicodedata:Unicode字符數據庫 6. stringprep:

原创 B樹、B-樹、B+樹、B*樹詳解

B樹、B-樹、B+樹、B*樹詳解 B樹        即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於

原创 設計模式之職責鏈模式

1.職責鏈模式的意圖 通過給多個對象處理請求的機會,以解除請求的發送者與接收者之間的耦合。將這個對象連成一條鏈,並沿着這條鏈傳遞該請求,直到有一個對象處理它爲止。(客戶端不必事先知道對象集合中哪個對象可提供自己需要的服務) 2.職責鏈模式

原创 設計模式學習筆記-狀態模式

        所謂狀態是指對象屬性的當前值的組合,通常使用狀態一詞來代表對象中獨立的、可改變的屬性。         狀態模式的意圖是將表示對象狀態的邏輯分散到代表狀態的不同類中,每種狀態都對應一個獨立的類。        

原创 一步步搭建ubuntu server console(控制檯,字符模式)開發環境

在我們安裝完ubuntu server之後,這個系統還不算完善,因爲它缺少很多重要的軟件及包的支持。下面,我以ubuntu 13.04的服務器開發環境搭建作爲例子來介紹一下我們如何使用ubuntu搭建一個基本夠用的linux開發環境。

原创 cin、cin.get()、cin.getline()、getline()、gets()函數的用法

      學C++的時候,這幾個輸入函數弄的有點迷糊;這裏做個小結,爲了自己複習,也希望對後來者能有所幫助,如果有差錯的地方還請各位多多指教(本文所有程序均通過VC 6.0運行)轉載請保留作者信息; 1、cin 1、cin.get()

原创 設計模式之創建者模式

1.什麼是創建者模式(構建者模式)?          創建者模式類似於一個步驟基本固定,但是每個步驟中的具體形式卻又可以變化的這類對象的創建。其中,創建者負責構建一個對象的各個部分,並且完成組裝的過程。如,做飯過程 2.意圖是什麼?

原创 七個高效的文本編輯習慣(以Vim爲例)

        如果你花很多時間輸入純文本、寫程序或HTML,那麼通過高效地使用一個好的編輯器,你可以節省大部分時間。本文將提供指導和提示,讓你更迅速地做這些工作,並且少犯錯誤。         本文用開源文本編輯器Vim(Vi IMp