2017-07-25 32 views
0

根據文件,我們可以使用andThen'鏈接'的行動組成;但基於我的理解,這些跨領域行動組合並不相關。但是需要另一個動作組合的結果進行進一步分析的動作組合呢?這是可能的:在遊戲框架(斯卡拉)的`瀑布'行動組合

你可能會說,把它們合併在一個行動中,但它會打破單一責任和開放原則。

所以這裏的問題是:我們如何才能得到一個動作組合的正確結果並將其饋送到另一個?我們可以實現在任何形狀或形式以下僞代碼:

def example = ac2(ac1(param1)) {....} //Two types of analysis on request

回答

0

是的,這是可能的。

如果創建一個動作精磨機ActionRefiner[Request, MyCustomRequest]是一種把Request到定製請求的類型,比如MyCustomRequest可以使用任何其他的動作助洗劑的任變換,縮小或過濾MyCustomRequest

如果程序員嘗試鏈要請求的動作的功能,其不同於MyCustomRequest那麼編譯器會抱怨「期待MyCustomRequest實際Request

here不是很大的實施例,但具體地檢查出ItemAction其中冷杉st要求請求被UserAction轉換 - 我認爲這可能是你在做什麼之後?