建造者模式
将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示。
1、例子解释:
同样一种菜肴,同样的菜谱,不同的厨师炒出品位可能不一样,虽然加入的佐料一样,但是北方的厨师炒的口味可能比较重,而南方的厨师的则比较清淡。这就是“同样的构建过程可以创建不同的表示”。
2、UML类图:
Product类:具体的产品;
Director类:指挥者,构建一个使用Builder接口的对象;
Builder接口:是为创建一个Product对象的各个组件指定的抽象接口;
ConcreteBuilder类:具体的建造者,实现Builder接口,构造和装配各个部件。
3、例子代码:
package test.patterns.builder;
//产品
class Food{
public StringBuffer smell = new StringBuffer();
}
//指挥者
class Diretor{
Cooks cooker;;
public Diretor(Cooks cooker) {
this.cooker = cooker;
}
public void cook(){
cooker.add_oil();
cooker.add_salt();
}
}
//抽象建造者
abstract class Cooks {
public abstract void add_oil();
public abstract void add_salt();
}
//具体建造者-东北
class Cook_Dongbei extends Cooks{
public Food food = new Food();
@Override
public void add_oil() {
food.smell.append("add_oil more ");
System.out.println("add_oil more~");
}
@Override
public void add_salt() {
food.smell.append("add_salt more");
System.out.println("add_salt more~");
}
public Food getFood() {
return food;
}
}
//具体建造者-南方
class Cook_Guangdong extends Cooks{
//...与上边类似
}
//测试代码
public static void main(String[] args) {
Cook_Dongbei cook_dongbei =new Cook_Dongbei();
Diretor diretor = new Diretor(cook_dongbei);
diretor.cook();
Food food = cook_dongbei.getFood();
System.out.println(food.smell);
}
4、应用
JDK:
java.lang.StringBuilder#append()
java.lang.StringBuffer#append()
游戏场景中需要自定义人物时应该也可以用到。身高:高的,矮的;体型:胖瘦;皮肤:黑白黄;运动能力:偏进攻,偏防守,攻防兼备全能型;···
以上参考自JavaWeb设计模式之道以及网络。
Have a nice day~
- 大小: 40.8 KB
分享到:
相关推荐
Java设计模式-建造者模式详解 Java设计模式-建造者模式详解将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。生成器模式(Builder)是使用多个“小型”工厂来最终创建出一个完整对象。...
-java常用设计模式-建造者模式是java中的一种创建型设计模式,它允许开发者通过一步一步地构建复杂对象来创建不同类型的对象。 建造者模式的定义 建造者模式是一种创建型设计模式,它允许开发者通过一步一步地构建...
"设计模式-建造者模式" 设计模式是软件开发中常用的解决问题的方法和模式,旨在提高软件的可维护性、灵活性和可重用性。设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。今天,我们将讨论创建型模式...
建造者模式(Builder Pattern)是软件工程中一种用于创建对象的抽象工厂方法,它将复杂的对象构造过程分离开来,使得相同的构造过程可以创建不同的表示。这种模式在C#编程中广泛应用于创建对象的复杂性较高,或者...
建造者模式,是一种创建型设计模式,它提供了一种创建对象的最佳方式,特别是在对象的构建过程比较复杂,需要多个步骤时。在建造者模式中,我们创建一个指导对象(Director),该对象负责组织构建过程,而具体的构建...
建造者模式(Builder)是Java设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。在Android开发中,这种模式尤其有用,因为Android组件如Activity、Fragment等的初始化过程通常...
建造者模式,是Java设计模式中的重要组成部分,它在软件工程中扮演着构造复杂对象的角色。这个模式的主要目的是将对象的构建过程与表示分离,使得同样的构建过程可以创建不同的表示。通过使用建造者模式,我们可以...
JAVA-设计模式-创建型模式-建造者模式
java设计模式------------------------------------建造者模式
**建造者模式(Builder Pattern)**是软件设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露构建过程。在C++中,这种模式常用于将对象的创建过程与使用过程分离,使得对象的构建更加灵活,...
设计模式之---建造模式 1,建造模式属于对象的创建模式,是将一个产品的内部表象和产品的生产分割出来 2.使用原因:为了将构建复杂对象的过程和它的不见解耦; 3 使用情况:建造模式利用一个导演着对象和一个具体...
总结来说,"cpp代码-设计模式-建造者模式"这个主题涉及的是C++编程中的设计模式应用,尤其是建造者模式。通过理解这个模式,开发者可以更好地组织代码,提高代码的可读性和可维护性,同时为复杂的对象构造提供了一种...
建造者模式是一种软件设计模式,属于创建型模式之一,主要用于解决创建复杂对象的问题。在实际应用中,当对象的构造过程过于复杂,涉及到多个属性或者子对象的组合时,直接通过构造函数创建可能会导致代码混乱、难以...
建造者模式是一种结构型设计模式,它允许我们分步骤创建复杂对象,而无需暴露构建过程的内部细节。这种模式在Java编程中非常常见,尤其是在处理需要多种构建方式或需要隔离对象构造过程的场景。 建造者模式的核心...
建造者模式(Builder Pattern)是软件工程中一种用于创建对象的抽象工厂方法,它将复杂的构建过程分解为一系列步骤,使得构建过程可以独立于其表示进行。这种模式允许客户端使用相同的构建过程创建不同表现形式的...
建造模式(Builder Pattern)是一种创建型设计模式,它将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式常用于当构造过程需要步骤化,并且每个步骤可能有多种实现时,比如在软件工程...
建造者模式是软件设计模式中的一种,属于创建型模式,它的主要目的是将复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。在Java的23种设计模式中,建造者模式是一个非常实用且重要的模式。 ...