订购比萨抽象工厂.pptVIP

  • 4
  • 0
  • 约 63页
  • 2017-09-03 发布于天津
  • 举报
订购比萨抽象工厂

工厂模式 SimplePizzaFactory可以有许多客户,虽然目前只有orderPizza()方法是它的客户,然而,可能还有PizzaShopMenu(比萨店菜单)类,会利用这个工厂来取得比萨的价钱和描述;可能还有一个HomeDelivery(宅急送)类等,会以不同的方式来处理比萨。 所以,把创建比萨的代码包装进一个类,当以后实现改变时,只需修改这个类即可。 别忘了,我们也正要把具体实例化的过程,从客户的代码中删除。 利用静态方法定义一个简单的工厂,这是很常见的技巧,常被称做静态工厂。 为何使用静态方法?因为不需要使用创建对象的方法来实例化对象。 但请记住,这也有缺点,不能通过继承来改变创建方法的行为。 尽管只有一个具体创建者,工厂方法模式依然很有用,因为它帮助我们将产品的“实现”从“使用”中解耦。 如果增加产品或者改变产品的实现,Creator并不会受影响。 (因为Creator与任何ConcreteProduct之间都不是紧耦合) 不一定,可以定义一个默认的工厂方法来产生某些具体的产品,这么一来,即使创建者没有任何子类,依然可以创建产品。 简单工厂把全部的事情,在一个

文档评论(0)

1亿VIP精品文档

相关文档