读书人

懂得建造者模式

发布时间: 2012-11-03 10:57:43 作者: rapoo

了解建造者模式

???? 了解建造者模式:

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

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

??? //可乐 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(); } }

?

也可以选择用餐。

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

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

?

读书人网 >软件架构设计

热点推荐