但是, 一个披萨店不可能只有一种披萨, 可能会有很多中披萨, 所以你可能会这样修改代码:
根据传入的类型, 创建不同的披萨, 然后加工返回....用一行代码来解释工厂方法就是:
工厂方法是让其子类具体来实现对象创建的工作. 这样就把父类中的客户代码和子类的创建对象部分的代码解耦了.
上面工作做的挺好, 但是还差一件事....披萨....创建者:
产品:
看看另外一种结构 -- 并行的类结构:
工厂方法模式的定义:
工厂方法模式定义了一个创建对象的接口, 但是让子类来决定具体创建的是哪一个对象...., 因为基类里面的方法本应该是共享与所有子类的)
和其它原则一样, 只是尽力去按照这三点建议去执行, 并不是必须一直要这么做....NYClamPizza();
break;
}
return pizza;
}
}
}
测试运行