当做一种事情的步骤是必不可少的。也就是说做这种事情,所有的步骤是不会少的。但是这些事情的具体做法的步骤实现又是不一样的。 由每个个具体的对象去实现 。
比如做一道菜,放盐,油等这些都是不可少的,但是每个人放的量又不一样。
有的时候我们做的时候就可能会因为一件事情的步骤太多而忘记了做某个步骤,造成后面做出来的东西是不能用的。
建造者模式:它的原理就是像上面那样,为了避免忘记做某个步骤,我们把这些步骤都抽象出来到一个类里面,
然后每个具体的实现都不得不去实现这些步骤(也就是一个方法一样吧),具体方法的实现是由每个具体类自己去
做的,如果就是这样,我们就会发现这时候,等于就是这个吃菜的人吧,他要对做菜的人说,放盐,放油,呵呵,这
完全是没有必要的,所以在建造者模式当中还有一个重要的类,就是指挥者,它和客户和做菜人之间打交道,
客户对着它说做菜,然后它在叫某个具体做菜的人去做咯。
粗略代码:
//做菜所需要的步骤
public interface Cai {
public void fangyan(); //放盐
public void fangyou(); //放油
public void jiashui(); //加水,,,等等是做菜不可缺少的步骤
.......
}
//有具体叫张三去做这个菜,每个人才做,放盐,放油,加水等都是不一样的,但是都必须做这样的步骤
public class ZhangSan implements Cai {
public void fangyan() {
System.out.println("ZhangSanfangyan");
}
public void fangyou() {
System.out.println("ZhangSanfangyou");
}
public void jiashui() {
System.out.println("ZhangJiashui");
}
}
//有具体叫李四去做这个菜
public class LiSi implements Cai {
public void fangyan() {
System.out.println("LiSi fangyan");
}
public void fangyou() {
System.out.println("LiSi fangyou");
}
public void jiashui() {
System.out.println("LiSi Jiashui");
}
}
//客户来了,不是说客户交张三去做菜,然后放盐放油,放水,都客户叫,这个指挥者做的事情
public class Director {
Cai cai;
Public Director(Cai cai) {
this.cai = cai;
}
public void zuocai() {
cai.fangyan();
cai.fangyou();
cai.fangshui();
}
}
//客户调用
public class test {
public static void main(String[] args) {
Cai cai = new ZhangSan();//张三做菜
Director d = new Director(cai); //指挥者
d.zuocai();//我要指挥者弄菜,其实指挥者叫张三弄菜去了。
}
}
分享到:
相关推荐
java设计模式------------------------------------建造者模式
Java设计模式-建造者模式详解
JAVA-设计模式-创建型模式-建造者模式
Java 设计模式-建造者模式(Builder)结合Android小知识讲解,简单明了
java常用设计模式-建造者模式
JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...
这个http://blog.csdn.net/dawanganban/article/details/9990405博客中java设计模式的源代码。下载前请先看《设计模式——建造者模式》一文。
设计模式之建造者模式代码示例,
讲故事,学(Java)设计模式—建造者模式Java开发Java经验技巧共5页.pdf.zip
高等学校设计模式课程系列教材刘伟,java设计模式,内容丰富
java设计模式【之】建造者模式【源码】【场景:车辆组装】 将复杂的对象构建,与对象的使用进行分离 用户只需要通过简单流程即可创建出对象 方法调用顺序,步骤的不同实现 优点:封装性号,创建和使用分离,扩展性...
1.1.3 建造者模式 10 1.1.4 单态模式 13 1.1.5 原型模式 15 1.2 结构型模式 17 1.2.1 适配器模式 17 1.2.2 桥接模式 19 1.2.3 组合模式 23 1.2.4 装饰模式 26 1.2.5 外观模式 29 1.2.6 享元模式 32 1.2.7 代理模式 ...
7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+策略+工厂方法 3 动态代理+Spring AOP 4 责任链模式进阶 Spring...
java 设计模式 建造者模式,希望对大家理解设计模式有帮助
本系统使用Java代码实现,是设计模式的期末课程设计,共使用了5种设计模式,分别是**原型模式、单例模式、抽象工厂模式、代理模式、建造者模式。*,希望对各位有帮助
用myeclipse开发的java设计模式课程设计,课题内容为西瓜工厂,包含四个设计模式,单例模式、代理模式、建造者模式和抽象工厂模式,有较好的图形界面,文档内附有完整代码,适用于新手学习。
1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、...
Java 常见创建型模式中的建造者模式及其实际开发中的变种模式
11.4 建造者模式的扩展 11.5 最佳实践 第12章 代理模式 12.1 我是游戏至尊 12.2 代理模式的定义 12.3 代理模式的应用 12.3.1 代理模式的优点 12.3.2 代理模式的应用 12.4 代理模式的扩展 12.4.1 普通代理 12.4.2 ...