gpt4 book ai didi

design-patterns - 反假战役

转载 作者:行者123 更新时间:2023-12-03 09:12:52 25 4
gpt4 key购买 nike

最近,我遇到了一个非常有趣的网站,该网站表达了一个非常有趣的想法-反假想运动。您可以在www.antiifcampaign.com上看到它。我必须同意,复杂的嵌套IF语句在后面绝对是一个难题。我目前在一个项目中,直到最近,我还拥有一些疯狂的嵌套IF,它们在相当大的程度上向右滚动。我们通过两种方式解决了问题-我们使用Windows Workflow Foundation解决了路由(或工作流)问题。而且我们正在利用ILOG Rules for .NET(最近由IBM购买!)来实现我们的所有业务规则。这在很大程度上缓解了我们嵌套的IF痛苦...但是我发现自己想知道有多少人通过创建大量抽象类来代表给定的AntiIfCampaign的好人建议(see an example here)来解决他们的痛苦嵌套IF最初覆盖的场景。我想知道解决这种复杂性问题的另一种方法是否也可以使用IoC容器(如StructureMap)移入和移出不同的功能位。无论哪种方式...

问题:给定一个方案,其中我有一个嵌套的复杂IF或SWITCH语句,该语句用于评估给定类型的事物(例如评估一个Enum),以确定我要如何通过枚举类型处理该事物的处理-什么有什么方法可以在不使用IF或SWITCH层次结构的情况下进行相同形式的处理?

public enum WidgetTypes
{
Type1,
Type2,
Type3,
Type4
}

...

WidgetTypes _myType = WidgetTypes.Type1;

...

switch(_myType)
{
case WidgetTypes.Type1:
//do something
break;

case WidgetTypes.Type2:
//do something
break;

//etc...
}

最佳答案

问题不是'if'语句,而是程序员编写错误的代码。

编辑:另外,正如其他人指出的那样,当您使用if语句检查对象的类型时,应该使用多态性(如果可用),但是if语句本身是非常有用且基本的构造。

关于design-patterns - 反假战役,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1167589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com