第二章 Cach 設計模式 策略模式

2021-10-23 05:33:01 字數 1232 閱讀 8892

思考

示例:可以隨意組合招數,增加三次打擊方法threefighting()。 而 工廠方法則需要呼叫三次。

class pha.yx.design.strategy.context extends %registeredobject

method fighting()

method threefighting()

}

/// d ##class(pha.yx.design.program).strategy() 

classmethod strategy()

class pha.yx.design.strategy.fightingstrategy [ abstract ]

}

class pha.yx.design.strategy.strongrivalstrategy extends (%registeredobject, pha.yx.design.strategy.fightingstrategy)

}

class pha.yx.design.strategy.commonrivalstrategy extends (%registeredobject, pha.yx.design.strategy.fightingstrategy)

}

class pha.yx.design.strategy.weakrivalstrategy extends (%registeredobject, pha.yx.design.strategy.fightingstrategy)

}

class pha.yx.design.strategy.context extends %registeredobject

method fighting()

}

class pha.yx.design.program extends %registeredobject

}

遇到了普通的物件,張無忌使用聖火令

遇到了強大的物件,張無忌使用乾坤大挪移

遇到了較弱的物件,張無忌使用太極劍法

商場打折,滿300減100,打8折,正常收費,滿200減50,打5折,折9上再打折9。感興趣的同學實現後可以發我一起參考下。

大話設計模式 第二章 策略模式

策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到試用演算法的客戶。1,定義現金抽象類 現金父類 public abstract class cashsuper 2,定義各個演算法類,全部繼承自現金父類 view code 沒有活動...

第二章 策略模式

物件導向的程式設計,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的物件的抽象集合才是類。收費物件生成工廠 策略模式strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。商場收銀時如何 用打折還是...

第二章 策略模式

物件導向的程式設計,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的物件的抽象集合才是類。商場 程式簡單工廠uml圖 includeusing namespace std class cashsuper class cashnormal public cashsuper...