我有一个MessageProcessor类,它处理不同类型的xml消息。基于消息类型的switch语句(C#)调用适当的方法来解析xml并提取消息类型所需的数据。具有不同返回类别的策略模式实现
我宁愿有大量的解析器类,其中一个解析器类会在基于消息类型创建时注入到MessageProcessor中。开关替换为多态 - 迄今为止非常好。
但是,我遇到的问题是当前的解析器方法每个都返回不同的结果,例如, ParseExecute(xml,out Session),ParseCallback(xml,out id,out name,...)
在这种情况下可以做我想做的事吗?
你想调用代码看起来像什么?目前尚不清楚MessageProcessor的责任是什么 - 它是否仅仅封装了解析器的选择,以至于它基本上是一个工厂? – 2009-12-31 14:29:24