跳转到主内容
思享编程网:思考分享,玩转编程世界!

Switch语句,编程中的大忌?——设计模式解析

大家好,我是陆砚码。今天我们来聊聊编程中一个常见但容易引起麻烦的结构——Switch语句。你可能遇到过这样的情况:在写代码的时候,需要根据不同的条件来创建不同的对象或执行不同的操作。这时候,你可能会想到使用Switch语句。但是,Switch语句真的适合这种情况吗?接下来,我们就通过一个Pizza店的例子来探讨这个问题。

问题来了:Switch语句的弊端

我们先来看一个简单的例子。假设我们有一个Pizza店,根据客户的需求,我们需要创建不同类型的Pizza。在PizzaStore类中,我们使用Switch语句来根据传入的字符串type创建不同类型的Pizza:

public Pizza OrderPizza(string type)
{
    Pizza pizza;
    pizza = CreatePizza(type);
    pizza.Prepare();
    pizza.Bake();
    pizza.Cut();
    pizza.Box();
    return pizza;
}

在CreatePizza方法中,我们使用Switch语句来创建不同类型的Pizza:

protected override Pizza CreatePizza(string type)
{
    Pizza pizza = null;
    IPizzaIngredientFactory ingredientFactory = new NYPizzaIngredientFactory();
    switch (type)
    {
        case
                            

相关文章