當前位置:律師網大全 - 商標查詢 - Command模式和Strategy模式有何區別

Command模式和Strategy模式有何區別

區別:

1、command對象要收集兩類信息,壹個是方法名稱,另壹個是方法參數,通過對象Receiver 來收集參數。

Command模式的基本動機是解耦程序動作的發起與實際執行,這就象戰場上班長下達命令(Command):機槍掩護(Comnand對象1),步兵沖鋒(Command對象2),但實際機槍怎麽打,每個步兵怎麽沖則屬於執行的事,並非都由班長計劃好的。不同的兵將會有不同的沖鋒路徑,這叫“多態”。Command模式的解耦機制壹可實現多態,二可實現異步(動作發起並不意味著馬上執行)。

2、strategy不需要收集方法名稱信息,而是僅僅調用strategy的壹個方法。

Strategy模式目的是實現程序行為模板,即壹個程序行為中部分動作是確定的,部分動作不確定,但確定部分與不確定部分有著確定的關系,比如飲料灌裝流水線:第壹步,準備空瓶;第二步,裝滿飲料;第三步,封口; 第四步,貼商標。

Stragtegy模式揭示這種步驟的確定性,但具本灌什麽飲料,貼什麽商標則留給具體的Strategy實現。因此,是多態、是同步的,因此,實現通常通過Call Back函數或所謂Sink機制(本質上仍是Call Back函數)。

  • 上一篇:購物英語單詞怎麽寫?
  • 下一篇:設計中廣告形式的形式與要求
  • copyright 2024律師網大全