创建者设计模式

来源:互联网 发布:感觉自己很冷漠知乎 编辑:程序博客网 时间:2024/04/30 18:19

      创建者设计模式是创建型设计模式,是一种很好理解的设计模式。就是告诉我们如何创建复杂对象的。

      将一个复杂对象的构建过程和表示分离,使得相同的创建过程可以创建不同的表示。这句话可能不是很好理解,因为我在看创建者

设计模式的时候,碰到这句话我也觉得不好理解。下面我举一个例子解释一下。我们去kfc的时候会买套餐,一份套餐可以有不同的组合,但是能够进行的组合的鸡翅,可乐,汉堡是不变的。通过对这些不同的对象进行组合,就得到了不同的套餐。而套餐就是我们所说的复杂对象。

      再举一个例子,在创建一套装备的时候,我们可以对帽子,鞋子,衣服进行组合得到复杂的套装。所以创建者模式在我看来就是

一句话:对小对象进行组合获得复杂对象,关键词是组合。下面是套餐例子的java代码实现,我只写核心代码。

    //这里其实也用到了工厂设计模式

    public class MealBuilder{

     //套餐1

     public Meal getMeal1(){

     Meal meal = new Meal();

     meal.add(new Hanber());

     meal.add(new Coke());

     return meal;

    }

  //套餐2

    public Meal getMeal2(){

    Meal meal = new Meal();

    meal.add(new Pisa());

    meal.add(new Pisa());

    }

   }

   //Meal类,也就是我们最终要构建的复杂对象,关键是要创建一个存放item的容器,item是食物类的基类或者接口

  public class Meal{

  private List<Item> list = new ArrayList<Item>();

  public void add(Item item){

  list.add(item);

 }

//展示所有的产品,这边就不实现了,还有很多其他方法都可以自己添加

 public void showItems(){

//...

}

 }

0 0
原创粉丝点击