策略模式 Strategy Pattern - BasuyaMuknana/java-design-pattern GitHub Wiki

策略模式 Strategy Pattern

示意圖

wiki_images/strategy_pattern_uml_diagram.jpg

謫要

  1. 使用策略模式的話,物件的行為或演算法可以在runtime時期變更。
  2. Context物件本身邏輯預期是可變動的,故含有一個Strategy物件成員。executeStrategy()方法內部將呼叫Strategy.doOperation()方法。
  3. 與命令模式不同的是,命令模式有一個命令執行的對象。且命令執行方法可能無法抽象化。