head first對策略模式的定義是:封裝一系列演算法,並把它們包裝起來,使他們可以相互替換。在該書的第一章節模擬鴨子遊戲裡面,講用策略模式改寫,但本身用了**這個模式,這裡我理解的是一般使用策略模式就有一定程度的使用**模式。看下面的例子。
這是乙個**模式的例子
package pattern.detegate;
public inte***ce subject
package pattern.detegate;
public class realsubject implements subject
}
package pattern.detegate;
public class proxysubject implements subject
public void request()
realsubject.request();
postrequest();
} public void postrequest()
}
package pattern.detegate;
public class testdetegate
}
這裡將的是乙個**模式的簡單的例子,乙個介面,乙個實現類,乙個**類,乙個測試類。**類實際上是乙個中間的角色,實際上做事情的還是realsubject!如果說這是乙個**模式!那麼我在網路上看別人對策略模式的理解的乙個例子,大致如下:
public inte***ce person
public class chinese implements person
}
public class strategyperson
public void speaklanguage()
}
public class testmain
}
這個例子的作者說這是策略模式,但我感覺和我的**模式好像是一樣的,對**模式和策略模式,我有點混淆了。。。
還是策略模式本身在設計的時候就包含了**模式,**模式這是策略模式的乙個小小的體現呢?期待在工作的過程中能慢慢的搞清楚這個問題!
java 策略模式
例如 public class test inte ce stra class add implements stra class sub implements stra class enviroment public int returnans int a,int b 不同的類實現相同的介面,然後...
java 策略模式
策略模式就是好多演算法,方式封裝到一起,然後根據不同的需求選擇不同的演算法 例子 首先乙個介面 public static inte ce a 然後實現該介面的類 就是不同的演算法類 public static class b implements a public static class c i...
java 設計模式 策略模式
就是比較兩個類別時,要自己寫乙個比較器,這個比較器實現了 comparator介面,裡面實現public int compare object o1,object o2 方法。在實體類裡面要有乙個成員變數時這個比較器,這個實體類也要實現了 comparable介面。例如 cat有兩個屬性,heigh...