原创 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的時候,就需要把訂單拆成兩份訂單來保存