我有一個MessageProcessor類,它處理不同類型的xml消息。基於消息類型的switch語句(C#)調用適當的方法來解析xml並提取消息類型所需的數據。具有不同返回類別的策略模式實現
我寧願有大量的解析器類,其中一個解析器類會在基於消息類型創建時注入到MessageProcessor中。開關替換爲多態 - 迄今爲止非常好。
但是,我遇到的問題是當前的解析器方法每個都返回不同的結果,例如, ParseExecute(xml,out Session),ParseCallback(xml,out id,out name,...)
在這種情況下可以做我想做的事嗎?
你想調用代碼看起來像什麼?目前尚不清楚MessageProcessor的責任是什麼 - 它是否僅僅封裝瞭解析器的選擇,以至於它基本上是一個工廠? – 2009-12-31 14:29:24