相关疑难解决方法(0)

大型Switch语句:糟糕的OOP?

我一直认为大型开关语句是糟糕的OOP设计的症状.在过去,我阅读了讨论这个主题的文章,他们提供了基于OOP的基于OOP的方法,通常基于多态来实例化处理案例的正确对象.

我现在处于一种基于来自TCP套接字的数据流的怪异切换语句的情况,其中该协议基本上由换行符组成,后跟数据行,后跟结束标记.该命令可以是100个不同命令之一,因此我想找到一种方法将这个怪物切换语句减少到更易于管理的状态.

我已经做了一些谷歌搜索,以找到我记得的解决方案,但遗憾的是,谷歌如今已成为各种查询无关结果的荒地.

这类问题有什么模式吗?有关可能实施的任何建议?

我有一个想法是使用字典查找,将命令文本与要实例化的对象类型相匹配.这具有仅仅创建新对象并在表中为任何新命令插入新命令/类型的优点.

但是,这也存在类型爆炸的问题.我现在需要100个新类,而且我必须找到一种方法将它们干净地连接到数据模型."一个真正的开关声明"真的是要走的路吗?

我很感激你的想法,意见或评论.

c# oop design-patterns

75
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

design-patterns ×1

oop ×1