重要的Java模式 策略模式

2021-06-05 18:13:21 字數 2005 閱讀 8996

策略模式允許在允許中替換演算法。要實現該解決方案,需要將每個演算法表示為strategy(策略)類。然後應用程式委託當前的strategy類來執行特定於策略的演算法。

下面示例使用role(充當strategy)介面來宣告策略行為和倆個具體來——buyer和seller來實現不同的行為:

role

介面:

package strategy;

public inte***ce role

seller

類:希望銷售的產品都設定了

20%的利潤率

package strategy;

public class seller implements roleelse

}}

對於buyer來說,他要買下此種商品,必須有乙個限制額。

package strategy;

public class buyer implements role

public boolean sisatisfied(product product, double price)

return false;

}}

context這裡是指:管理role的person類。person類與role介面又乙個關聯,另外值得注意的是,role又乙個setter和getter方法,它允許乙個人的角色在程式執行時發生變化。以後,其它的role實現物件(如broker(中間)等)都可以被新增。因為它們對特定的子類沒有依賴。下面時person類:

package strategy;

public class person

public role getrole()

public void setrole(role role)

public boolean statisfied(product product, double price)

}

其它類:本示例的product類及執行的main類:

1

、product

package strategy;

public class product

public string getname()

public void setname(string name)

public string getdescription()

public void setdescription(string description)

public double getcost()

public void setcost(double cost)

}

2、main類

package strategy;

public class main

if(!lilei.statisfied(house, 6000000))

if(lilei.statisfied(house, 390000) && hanmeimei.statisfied(house, 390000))

} }}

通過實現策略模式,可以在執行時修改乙個物件的行為而不影響它的實現。這是軟體設計中非常強大的工具。

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策略模式

head first對策略模式的定義是 封裝一系列演算法,並把它們包裝起來,使他們可以相互替換。在該書的第一章節模擬鴨子遊戲裡面,講用策略模式改寫,但本身用了 這個模式,這裡我理解的是一般使用策略模式就有一定程度的使用 模式。看下面的例子。這是乙個 模式的例子 package pattern.det...