原创 java main函數的args[]參數

args[]這個參數主要是爲程序使用者在命令行狀態下與程序交互提供的一種手段。 在命令行中執行java程序的時候使用的是“java 文件名 args參數”。所以args[]是在命令行運行時輸入的參數,由於可以有多個

原创 ubuntu中maven的安裝與配置圖文詳解

1.下載Maven壓縮包     下載地址爲:http://maven.apache.org/download.cgi 2.將Maven壓縮包解壓到Home目錄下     解壓命令爲:tar zxvf apache-maven-3.5.2

原创 maven項目打紅叉解決方法

Maven項目打紅叉,且在problem出現如下問題時: 1 Java compiler level does not match the version of the installed Java project facet.SSMD

原创 C++實現適配器模式

概述: 適配器模式是一種結構性模式,它將一個類的接口轉換成客戶需要的接口,使得原來由於接口不兼容而不能一起工作的類可以一起工作 優點: 可以讓沒有關聯的兩個類一起運行 提高了類的複用性 缺點: 過多適配器系統會比較亂

原创 C++實現模板模式

概述: 模板模式是一種行爲型模式,它用來定義一個算法的框架,而將一些步驟延遲到子類中。模板方法模式使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟 優點: 在父類中形式化地定義一個算法,而由它的子類來實現細節的處

原创 C++實現外觀模式

概述: 外觀模式是結構型模式,它將複雜的子類系統抽象到同一個接口進行管理,外界只需要通過該接口與子類系統進行交互,而不必直接與複雜的子類系統進行交互 外觀模式降低訪問複雜系統的內部子系統的複雜度,簡化客戶端與之的接口 優點:

原创 C++實現命令模式

概述: 命令模式是一種行爲型模式,將一個請求封裝成一個對象,從而可以用不同的請求對象進行參數化 優點: 降低命令請求端和接收端的耦合度 新的命令只需要封裝成相應的對象,就可以添加到系統中,可擴展性好 缺點: 命令比較

原创 C++實現單例模式(懶漢、餓漢、線程安全和局部靜態變量法)

概述 單例模式是一個創建型設計模式,一個類只會創建一個對象。 由於只有一個對象,所以不能夠通過new來創建對象,因此類的構造函數得是private的 由於不能夠new出對象,所以類內部需要提供一個函數來獲取對象,這個函數和對象都是

原创 C++實現策略模式

概述: 策略模式是一種行爲型模式,它用來定義一系列的算法 ,把它們一個個封裝起來,並且使它們可以互換 優點: 算法之間可以隨便互換,擴展性好 避免使用多重條件判斷語句 缺點: 策略類會變多,系統會變大 客戶端必

原创 C++實現代理模式

概述: 代理模式是一種結構型模式,在某些情況下,一個對象不適合或者不能直接引用一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用 優點: 代理模式能夠將客戶與真正被調用的對象分離,降低了耦合度 客戶端可以通過代理

原创 C++實現抽象工廠模式

概述 抽象工廠模式是一個創建型設計模式,它針對的是創建產品族,而不是單單一個產品 優點 封裝了產品的創建,使得不需要知道具體是哪種產品,只需要知道是哪個工廠即可 可以支持不同類型的產品,使得模式靈活性更強 可以非常方便

原创 C++實現工廠方法模式

概述 工廠方法模式是一個創建型設計模式,通過定義一個創建對象的接口,讓其子類決定實例化哪一個工廠類,一個工廠類創建一個實例,工廠模式使其創建過程延遲到子類進行。 在工廠方法模式中,我們在創建對象時不會對客戶端暴露邏輯,並且通過使用

原创 C++實現簡單工廠模式

概述 簡單工廠模式是用單獨的類來創建其它類的實例的一種創建型模式。 簡單工廠模式實質是工廠類根據傳入的參數,來動態決定創建哪一個產品的實例 優點 客戶端與具體實現類解耦 不用考慮對象的創建過程 缺點 簡單工廠模式,

原创 Makefile入門實例

Makefile概述 makefile文件是用來描述整個工程的編譯連接規則的,主要描述哪些源文件需要編譯以及如何編譯,如何生成我們想要的可執行文件。一旦Makefile文件寫好,只需要一個make命令,整個工程完全自動編譯,極大提

原创 vim常用快捷鍵

光標移動: 1. H:前 J:下 K:上 L:後 2. 移動到行首:0 3. 移動到行尾:$ 4. 移動到文件開始位置:gg 5. 移動到文件末尾:shift+g 6. 跳轉到100行:100G 刪除操作: 1. 刪除