public class Main5{
private final int servingSize; private final int servings; private final int calories; private final int fat; private final int sodium; private final int carbohydrate; public static class Builder{ private final int servingSize; private final int servings; private int calories = 0; private int fat = 0; private int sodium = 0; private int carbohydrate = 0; public Builder(int servingSize,int servings){ this.servingSize = servingSize; this.servings = servings; } public Builder calories(int calories){ this.calories = calories; return this; } public Builder fat(int fat){ this.fat = fat; return this; } public Builder sodium(int sodium){ this.sodium = sodium; return this; } public Builder carbohydrate(int carbohydrate){ this.carbohydrate = carbohydrate; return this; } public Main5 build(){ return new Main5(this); } } private Main5(Builder builder){ servingSize = builder.servingSize; servings = builder.servings; calories = builder.calories; fat = builder.fat; sodium = builder.sodium; carbohydrate = builder.carbohydrate; } }
当一个类有很多属性
有很多的熟悉可以是默认的值的时候
可以通过写多个不同参数的构造方法去实现
但是很麻烦
这种方式设计上很灵活
基本上可以上任意的组合见Effective java (中文第二版) 第11页
相关推荐
**Angular的表单设计器——Angular-Form-Builder** Angular-Form-Builder是一个强大的工具,用于在Angular应用程序中动态创建和管理表单。它允许开发者通过拖放的方式构建复杂的表单结构,无需手动编写大量的HTML和...
Builder模式是一种创建型设计模式,它提供了一种创建对象的抽象接口,并允许子类按照步骤构建复杂的对象。这种模式将对象的创建过程分离出来,使得同样的构造过程可以创建不同的表示,从而实现对象创建过程的解耦。 ...
设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题。这些模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师,通常被称为GoF(Gang of Four),在他们的经典著作...
Builder设计模式是创建型模式之一,主要解决复杂对象的构建问题,使得构建过程与表示分离。 Builder模式的核心思想是将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式通常应用于...
ECharts-Theme-Builder, 为ECharts设计自己的主题 ECharts-Theme-Builder为ECharts设计自己的主题联机主题生成器 插件生成$ npm install$ bower install$ gulp watch
### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...
5. **开发模式**:在开发过程中,可以使用 `swint-builder-html dev` 命令启动开发服务器,实现自动编译和热加载。 ### 实战应用 Swint-Builder-HTML 在实际项目中的应用可以帮助开发者快速构建复杂的单页应用...
根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...
GoF(Gang of Four)所提出的23种设计模式被视为面向对象设计的核心内容之一。本文旨在深入解析这些设计模式,并通过C++实现来帮助读者更好地理解和应用这些模式。 #### 1. 创建型模式 创建型模式关注的是对象的...
设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。GoF(Gang of Four)23种设计模式是软件开发中的经典,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides...
这种方式的好处在于可以将业务逻辑与视图层的表示分离,遵循MVC(模型-视图-控制器)的设计模式,使代码更符合最佳实践。 1. **安装与配置** 要开始使用form-builder,首先需要通过Composer将其添加到项目的依赖中...
**建造者模式(Builder Pattern)**是软件设计模式中的一种,属于创建型模式。它将复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通常用于那些需要大量构造参数的对象,通过...
### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件开发中扮演着至关重要的角色。本文旨在深入解析GoF(Gang of Four,四人组)提出的23种设计...
C#设计模式(8)-Builder Pattern C#设计模式(7)-Singleton Pattern C#设计模式(6)-Abstract Factory Pattern C#设计模式(5)-Factory Method Pattern C#设计模式(4)-Simple Factory Pattern C#设计模式...
在前端开发中,SVG(Scalable Vector Graphics)因其良好的可缩放性和丰富的图形表现力,被广泛应用于网页设计中。然而,当一个项目中包含多个SVG图标时,管理这些图标可能会变得复杂。为了解决这个问题,出现了SVG...