機制與策略分別應該如何解釋,有什麼聯繫與區別?


策略 call 機制。層次的看,策略在上,機制在下。

遊戲提供了可玩的機制,你在此基礎之上,用自己的策略獲得高分。

女生提供了可追的機制,你在此基礎之上,用自己的策略俘獲芳心。

Unix提供了可用的機制,你在此基礎之上,用自己的策略完成程序。

對於機制來說,不關心策略,但策略對機制有所依賴。類似設計兩個輔助函數(機制),再設計一個演算法(策略)。

策(馬鞭子、策馬揚鞭、計謀 )略(規劃田地疆土):設法攻城略地。

機(弓弩)制(造):可用於造弓弩的方法。

策略機制鏈/策略機制棧:

... 策略 -&> 機制 -&> 策略 -&> 機制 ...

... (策略 -&> 機制) -&> (策略 -&> 機制) ...

... 策略 -&> (機制 -&> 策略) -&> 機制 ...


機制相當於是規則,策略則是在規則下實現目的的方法。

比如:

Windows系統的消息機制定義了消息的發送、接收、處理和返回。

在這個機制下採用不同的策略就可以開發出各種各樣的電腦軟體。


植物的機制:光合作用。

植物的策略:跟著太陽走。

可見,機制是「我計劃。」策略是「我猜測。」

XXYQ。No._056


機制跟策略放在一塊比較的話, 我覺得機制更像一個功能一樣

比如機制就是提供了某個功能,

而策略就是使用這些已提供的功能進行組合產生不同的策略


我來舉個簡單資料庫helper例子說明。

我的這個helper的最底層,介面只有insert、update、delete等基礎操作,這就是機制。在機制的面前,所有數據都是被抽象了的。它不知道你是張三,還是李四;也不知道你是男人還是女人:它不依賴你的具體形態。

在此基礎上往上走,介面有獲取xx數據,更新xx數據,刪除xx數據等針對具體的業務做等。這些操作里,會對輸入的數據進行包裝,然後調用機制層的東西進行數據操控。這就是策略。它會直接依賴具體的數據。如果輸入的數據不是所設定的類型,就直接出錯。

機制具有靈活性,但因為太泛,所以用起來要打不少的基礎;策略具有針對性,但因為太具體,所有具有局限性。

機制與策略要相互配合才能起到好的效果。


深入理解驅動開發中的機制與策略 這一篇文章寫的很好,用例子而不是道理來講。


感謝邀請。

無特定背景下,純咬文咂字的試答:

機制相對於策略,有更加固定、更整體化的屬性,像是一種可記錄、可複製、可重複應用的解決一類問題的流程,相對來說不受個人意志的影響。

策略相對於機制,有更加靈活、更具體化的屬性,像是一種為解決某一具體問題或針對具體情境的方法,相對來說帶有更強的個人風格。

機制和策略的聯繫,可能機制是由一系列策略經過實踐檢驗後,篩選出的一組有效的策略組合?

或者如果用談戀愛來比喻:見面、吃飯、看電影、K歌……這是一套兩個人從陌生到熟悉到相愛比較常見的戀愛機制;而主動出擊、欲擒故縱、苦肉計……則是戀愛當中的各種策略?


推薦閱讀:

「ballad」與「folk」有何異同?
sfh?
ditu.google.cn 與 maps.google.com 有什麼區別?
同樣是抄襲軍團要塞,為什麼守望先鋒評價遠比槍神紀高?
紫藥水和紅藥水的區別?求科普~從小時候就困惑的問題啊~有沒有人跟我一樣~

TAG:A和B有什麼不同 |