论坛首页 Java企业应用论坛

了解建造者模式

浏览 1587 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-27   最后修改:2008-12-05

     了解建造者模式:

     在软件系统中,经常会遇到一个创建工作,一个复杂对象由各部分子对象用一定算法构成,由于需求改变,这个复杂对象各个部分面临剧烈变化的,但组合在一起相对稳定。

     个人理解:要去商店买吃的,商店有汉堡,可乐,鸡腿等等。顾客可以说自己的需要,告诉服务生,服务生分配给你所需要的东西。 

    //可乐 public class CocaCola { private String size; public String getSize() { return size; } public void setSize(String size) { this.size = size; } } //鸡腿 public class Drumstick { private String size; public String getSize() { return size; } public void setSize(String size) { this.size = size; } } //汉堡 public class Hamburger { private String size; public String getSize() { return size; } public void setSize(String size) { this.size = size; } }


 


服务生提供

public class Waiter { // 餐1 public static void meal1(){ new Drumstick(); new CocaCola(); }; // 餐2 public static void meal2(){ new Drumstick(); new Hamburger(); }; // 餐3 public static void meal3(){ new Hamburger(); }; }


 
顾客从服务生那得到餐

 

public class Client { //选择用餐 public void userMeal(){ Waiter.meal1(); } }

 

也可以选择用餐。

  从这个例子来看,用户可以选择不同的餐,服务生也可以任意搭配,并且该店可以改变食物的属性,例如大小,生熟,等等这就相当于小对象的算法。这并不影响顾客的需要。

   这个模式可以提高松耦合。

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics