java策略模式

2021-08-30 09:43:39 字數 1188 閱讀 8759

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...