`
步青龙
  • 浏览: 298831 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
72ba33fb-eefe-3de1-bd65-82a6e579265d
Java面试
浏览量:0
社区版块
存档分类
最新评论

Builder设计模式

 
阅读更多
public class BuilderPattern {
	private String name ;
	private int age;
	private String email;
	BuilderPattern(Builder builder){
		this.name = builder.name;
		this.age = builder.age;
		this.email = builder.email;
	}
	public void printinfo(){
		System.out.println("name:"+this.name+"-----age:"+this.age+"----email:"+this.email);
	}
	public static void main(String[] args) {
		BuilderPattern bp = new BuilderPattern.Builder().setName("javaeye").setAge(23).setEamil("aa@qq.com").build(); 
		bp.printinfo();
	}
	private static class Builder{
		private String name ;
		private int age;
		private String email;
		public BuilderPattern build(){
			return new BuilderPattern(this);
		}
		public Builder(){
		}
		public Builder setName(String name){
			this.name = name;
			return this;
		}
		public Builder setAge(int age){
			this.age = age;
			return this;
		}
		public Builder setEamil(String email){
			this.email = email;
			return this;
		}
	}
}

 这种方式适合对于复杂的对象,简单的调用方式,避免了一行一行的setXxxx或者是 糊里糊涂的构造

1
1
分享到:
评论
2 楼 步青龙 2015-12-17  
white_crucifix 写道
我怎么觉得builder模式不是这样的,这不就是个链式么

Builder生成器模式,参考StringBuilder,比如append方法
1 楼 white_crucifix 2015-12-17  
我怎么觉得builder模式不是这样的,这不就是个链式么

相关推荐

    builder设计模式

    Builder设计模式是一种结构型设计模式,它主要用于将复杂对象的构造过程与其表示分离,使得同样的构造过程可以创建不同的表示。这种模式通常在我们希望逐步构建一个对象,且构造过程复杂时使用,允许我们以一种独立...

    【IT十八掌徐培成】Java基础第10天-02.builder设计模式-StringBuilder-包装类.zip

    今天我们要深入探讨的是Builder设计模式,这是一种创建型设计模式,它提供了一种方法来分步骤构造复杂的对象,使得构建过程和表示分离。Builder模式在Java编程中尤其常见,尤其是在处理字符串操作时,例如`...

    builder设计模式源码

    Builder设计模式是一种软件设计模式,它允许我们分步骤构建复杂对象,通过将构造过程与对象的表示分离,使得相同的构造过程可以创建不同的表示。在Java或者其他面向对象编程语言中,Builder模式经常被用来提高代码的...

    Builder设计模式.txt

    ### Builder设计模式详解 #### 一、什么是Builder设计模式? Builder设计模式是一种创建型设计模式,它能够将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这种模式允许用户逐步构建...

    晨会分享Builder设计模式

    Builder设计模式是一种软件设计模式,它属于创建型模式,主要用于对象的复杂构建过程。这种模式将对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。Builder模式的核心在于提供一个构建器接口,该接口...

    (设计模式)Builder

    Builder设计模式是一种创建型设计模式,它提供了一种方法来分步骤构造复杂的对象,使得构建过程和表示分离,允许用户只关注对象的构建而无需关心具体实现细节。在Java或其他编程语言中,Builder模式通常用于创建那些...

    .NET Core C# 中的 Builder 设计模式

    .NET Core C# 中的 Builder 设计模式

    23种设计模式的java实现-Builder

    Builder设计模式是创建型模式之一,主要解决复杂对象的构建问题,使得构建过程与表示分离。 Builder模式的核心思想是将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式通常应用于...

    【Java 设计模式-源码】Builder 模式:在 Java 中清晰构建自定义对象

    Java 中的 Builder 设计模式是一种基本的创建型模式,它允许逐步构建复杂的对象。它将复杂对象的构建与表示分离,使得相同的构建过程可以创建不同的表示。 三、Builder 模式的详细解释及实际示例 实际示例: Java 的...

    设计模式之Builder

    Builder设计模式是一种创建型设计模式,它提供了一种在创建对象时隔离其构造过程和表示方式的方法。在软件工程中,Builder模式常用于构建复杂的、具有多种组成部分的对象,特别是当这些对象的构造过程需要大量步骤时...

    JAVA设计模式chm文档

    设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计...

    go-builder:用Golang编写的Builder设计模式

    Builder设计模式是一种软件设计模式,它将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。在Golang中,Builder模式同样适用,并且由于Go语言的特性,如接口和结构体,使得实现Builder模式更为...

    设计模式文档 chm

    设计模式之Builder 设计模式之Singleton(单态) 结构模式: 设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计...

    创建型——Builder模式

    Builder模式是一种创建型设计模式,它提供了一种创建对象的灵活方式,将对象的构建过程与表示分离。这种模式在复杂对象的构造过程中特别有用,因为它允许我们通过不同的步骤来构造对象,而不会让客户端代码受到这些...

    设计模式之建造者Builder模式

    **建造者模式(Builder Pattern)**是软件设计模式中的一种,属于创建型模式。它将复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于那些需要大量构造参数的对象,通过...

    设计模式-Builder模式demo

    Builder模式是一种创建型设计模式,它提供了一种创建对象的抽象接口,并允许子类按照步骤构建复杂的对象。这种模式将对象的创建过程分离出来,使得同样的构造过程可以创建不同的表示,从而实现对象创建过程的解耦。 ...

    memorable:简单的golang程序包,用于生成难忘的代码,然后对其进行排序。 在Builder设计模式下开发

    使用受启发的Builder设计模式用法生成列出字符的变体package mainimport ("fmt""github.com/syronz/memorable""log")func main() {mem, err := memorable.New().Chars("AB").Length(2).Build()if err != nil {log....

    设计模式之创建模式Builder

    建造者模式(Builder Pattern)是设计模式中的一种创建型模式,它允许我们分步骤构建复杂的对象,而无需暴露其构造过程。这种模式的核心思想在于将对象的构建与表示分离,使得构建过程和不同表示可以独立变化,提高...

    C#设计模式之建造者(Builder)模式示例源代码

    在深入探讨C#设计模式中的建造者(Builder)模式之前,我们先来理解一下什么是设计模式。设计模式是在软件工程中解决常见问题的一种通用可重用解决方案,它们提供了一种标准化的方法来解决软件开发中遇到的挑战。...

Global site tag (gtag.js) - Google Analytics