行為型 策略模式及相關應用

2021-09-02 07:53:44 字數 914 閱讀 6611

定義了演算法家族,分別封裝起來,讓它們之間可以互相替代,此模式讓演算法的辯護權啊不會影響到使用演算法的使用者。

適用場景:

在**期間商家有不同的**策略:返現、立減和滿減。

策略抽象類:

public

inte***ce

promotionstrategy

返現策略:

public

class

fanxianpromotionstrategy

implements

promotionstrategy

}

立減策略:

public

class

lijianpromotionstrategy

implements

promotionstrategy

}

滿減策略:

public

class

manjianpromotionstratehy

implements

promotionstrategy

}

**活動,將**策略作為成員變數:

public

class

promotionactivity

public

void

executepromotionstrategy()

}

客戶端類:

public

class

test

}

每當要新增乙個**策略的時候,直接增加乙個策略實現即可,十分方便。

策略模式(行為型)

思考問題 乙個書店的某類書是免費的,某類書是固定1元的,某類書是按折扣算的 比如88 同一類別的書本 一樣 假定顧客只買一類書,在設計書店bookstore類時應該如何計算顧客買書的費用?解答 1.你有可能不知道如何設計,畢竟上面的計算規則不一樣 並不是一類書8折另一類書9折那樣好計算 2.既然這樣...

行為型 策略模式

注入物件,改變行為。這是乙個很有意思的模式,它可以有多種表現形式,只要滿足注入物件,改變行為。學習這個模式,必須忘記網上和書上的標準類圖。注入不同的comparator,排序的方式也不同。這是最常見的策略模式的表現形式,沒必要畫什麼圖。與上乙個策略模式比較,有點主客顛倒的意思。class beanc...

行為型(一) 策略模式

1 定義 define a family of algorithms,encapsulate each one,and make them interchangeable.定義一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。2 使用場景 多個類只是在演算法或行為上稍有不同 演算法需要自由...