原创 23種設計模式之命令模式1

3.1  認識命令模式 (1)命令模式的關鍵          命令模式的關鍵之處就是把請求封裝成爲對象,也就是命令對象,並定義了統一的執行操作的接口,這個命令對象可以被存儲、轉發、記錄、處理、撤銷等,整個命令模式都是圍繞這個對象在進

原创 23種設計模式之命令模式2

3.4  宏命令         什麼是宏命令呢?簡單點說就是包含多個命令的命令,是一個命令的組合。舉個例子來說吧,設想一下你去飯店喫飯的過程:         (1)你走進一家飯店,找到座位坐下         (2)服務員走過來,

原创 23種設計模式之命令模式4

3.7  命令模式的優缺點 更鬆散的耦合     命令模式使得發起命令的對象——客戶端,和具體實現命令的對象——接收者對象完全解耦,也就是說發起命令的對象,完全不知道具體實現對象是誰,也不知道如何實現。更動態的控制     命令模式把請

原创 算法之直接插入排序降序,升序

//升序 public static void Insertion_Sort(int[] elements){         for(int i = 1;i <elements.length; i++){             in

原创 算法之分冶法合併算法

//遞歸分成小部分 public void merge_sort(int[] arrays,int start,int end){ if(start<end){ int m=(star

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

用來解決上述問題的一個合理的解決方案,就是使用職責鏈模式。那麼什麼是職責鏈模式呢? (1)職責鏈模式定義   (2)應用職責鏈模式來解決的思路 仔細分析上面的場景,當客戶端提出一個聚餐費用的申請,後續處理這個申請的對象,項目經理

原创 算法之分冶算法-合併算法

 private static int[] mergeSort(int[] array) {  //如果數組的長度大於1,繼續分解數組       

原创 23種設計模式之命令模式3

3.3  可撤銷的操作         可撤銷操作的意思就是:放棄該操作,回到未執行該操作前的狀態。這個功能是一個非常重要的功能,幾乎所有GUI應用裏面都有撤消操作的功能。GUI的菜單是命令模式最典型的應用之一,所以你總是能在菜單

原创 23種設計模式之命令模式

命令模式也是開發中常見的一個模式,也不是太難,比較簡單,下面來詳細的寫一下命令模式。     命令模式(Command) 1  場景問題 1.1  如何開機         估計有些朋友看到這個標題會非常奇怪,

原创 23種設計模式之訪問者模式

25.2.1  訪問者模式來解決 用來解決上述問題的一個合理的解決方案,就是使用訪問者模式。那麼什麼是訪問者模式呢? (1)訪問者模式定義 (2)應用訪問者模式來解決的思路 仔細分析上面的示例,對於客戶這個對象結構,不想改變

原创 23種設計模式之組合模式

15.2  解決方案 15.2.1  組合模式來解決 用來解決上述問題的一個合理的解決方案就是組合模式。那麼什麼是組合模式呢? (1)組合模式定義   (2)應用組合模式來解決的思路        仔細分析上面不用模式的例子

原创 23種設計模式之迭代模式2

14.3  模式講解 14.3.1  認識迭代器模式 (1)迭代器模式的功能 迭代器模式的功能主要在於提供對聚合對象的迭代訪問。迭代器就圍繞着這個“訪問”做文章,延伸出很多的功能來。比如: 以不同的方式遍歷聚合對象,比如向

原创 23種設計模式之中介者模式1

用來解決上述問題的一個合理的解決方案就是中介者模式。那麼什麼是中介者模式呢? (1)中介者模式定義   (2)應用中介者模式來解決的思路 仔細分析上面的問題,根本原因就在於多個對象需要相互交互,從而導致對象之間緊密耦合,這就不利

原创 23種設計模式之原型模式2

用來解決上述問題的一個合理的解決方案就是原型模式。那麼什麼是原型模式呢? (1)原型模式定義   (2)應用原型模式來解決的思路 仔細分析上面的問題,在saveOrder方法裏面,已經有了訂單接口類型的對象實例,是從外部傳入的,

原创 23種設計模式之原型模式

9.1.1  訂單處理系統 考慮這樣一個實際應用:訂單處理系統。 現在有一個訂單處理的系統,裏面有個保存訂單的業務功能,在這個業務功能裏面,客戶有這麼一個需求:每當訂單的預定產品數量超過1000的時候,就需要把訂單拆成兩份訂單來保存