c# - 工厂方法还是其他模式?

标签 c# .net design-patterns factory

我有一个任务实体,需要根据任务类型进行解析。我会将特定类型任务的逻辑封装在一个类中,但是将类型与实现解析逻辑的类相匹配的普遍接受的方法是什么?

我的第一个冲动是做一个工厂,比如:

TaskResolverFactory.GetForType(TaskType) // returns IsATaskResolver, which has a Resolve method

可能在工厂内部,一个 Case 语句或其他东西。

另一种想法是使用诸如 StructureMap 之类的东西,但我认为这对于这种情况来说太过分了 - 你同意吗?

我还缺少哪些其他方法,以及替换大型 Case/Switch 语句的普遍接受的方法是什么?

最佳答案

你是对的 - Factory 是解决这个问题的经典模式。

如果这是您需要进行此类解析的唯一地方(并且逻辑很简单),我同意 - StructureMap 过度杀戮。

关于c# - 工厂方法还是其他模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069501/

相关文章:

c# - 在这种情况下如何停止转换?

c# - 更新到 beta8 后无法发布 asp.net 5 应用程序 - 依赖项......无法解决

c# - SharePoint 2010 - 客户端对象模型 - 将附件添加到 ListItem

c# - .NET Native 编译器不断抛出编译错误

c++ - 具有多个参数的访问者模式

algorithm - 如何克服多个数据库上的数据不匹配

c# - 获取组装所需的组件?

c# if-else 在 catch 语句中

asp.net - WinForms 和 Asp 类库中的异常处理

c++ - 一个 C++ 客户端无法加载我们新注册的 COM .NET .dll,另一个可以