/**
策略設計模式:
把可變的行為抽象出來,想成乙個演算法簇,這樣可以讓我們的應用更利於變化。
在使用抽象類和介面時,我們優先選擇介面
oo思想:面向介面程式設計,低耦合,高內聚
*/inte***ce gohomeable
class gohomeableimplbyfly implements gohomeable
}class gohomeableimplbyfoot implements gohomeable
}class gohomeableimplbytrain implements gohomeable
}class person
public void setgh(gohomeable gh)
public void setjob(string job)
public string getjob()
public void gohome()
}class student extends person
}class worker extends person
}class boos extends person
}class celuemoshi
}
設計模式 行為型 策略模式
更好的實現開閉原則 ocp,openclosedprinciple 即對於擴充套件是開放的,對於修改是關閉的,不修改原有 只擴充套件 策略模式包括三個角色 context 環境類 使用演算法策略,維持乙個抽象策略類的引用例項 strategy 抽象策略類 將所有的策略抽象出來,在該類宣告抽象方法或者...
設計模式 行為型模式 策略模式
電影票類 環境類 class movieticket 注入乙個折扣類物件 public void setdiscount discount discount public double getprice 折扣類 抽象策略類 inte ce discount 學生票折扣類 具體策略類 class st...
設計模式 行為型模式 策略模式
1.定義 定義了一組演算法並分別封裝,使彼此之間可以相互替換,該模式下演算法的變化不會影響到使用演算法的客戶端 3.涉及角色 1.抽象策略 該組演算法的最上層介面,定義了該組演算法需要實現的行為 2.具體策略 具體行為的實現者,是抽象策略的子類 3.策略上下文 持有抽象策略例項,遮蔽高層模組對具體策...