导航

简单工厂模式(未完成)——小鸟学习设计模式笔记系列

Posted on 2010-03-01 14:16  菩提小鸟  阅读(222)  评论(0)    收藏  举报

一、场景举例:

  在高档餐馆中点菜,然后厨房按照客人点的菜将菜品做好,这就是一个可以用“简单工厂模式”描述的行为。

  在高档点的餐厅里,厨房都是很大的,厨师们分工负责各自擅长的菜品,而菜品都是出自厨师长之手。厨师长是“长”嘛,当然他是不会亲自下厨的,他只用写出那些菜的菜谱,然后监督那些厨师作出的菜品符合他写的菜谱就行了。

 

二、 概念:

  在典型的“简单工厂模式” 中,类被划分为“工厂类”、“抽象产品类”、“具体产品类”三个组成部分,还有一个传递给“工厂类”的消息。工厂类根据传递进来的消息,从若干个具体产品类中创建一个具体产品类的实例,且这个具体产品类是抽象产品类的子类。其UML表示见图一:

   

图一: 简单工厂模式的典型UML图

 

三、 场景应用:

  我们完全可以用“简单工厂模式”来描述从客人点菜到上菜这之间的情景(见图二),实现厨房做菜的设计。将厨房当作“工厂类”,“具体产品类”就是具体的菜品、而“抽象产品类”就是厨师长写的菜谱。

 

   图二:厨房做菜的UML图