或许你已经看惯了javabean和层叠构造.
/**
* Builder模式
* @author Macrotea
*
*/
public class ManFacts {
private String name;
private int age;
private double height;
private double weight;
public static class Builder {
// 必须
private String name;
private int age;
// 可选
private double height;
private double weight;
public Builder(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Builder height(double height) {
this.height = height;
return this;
}
public Builder weight(double weight) {
this.weight = weight;
return this;
}
public ManFacts build() {
return new ManFacts(this);
}
}
private ManFacts(Builder builder) {
this.age = builder.age;
this.name = builder.name;
this.height = builder.height;
this.weight = builder.weight;
}
}
public static void main(String[] args) {
ManFacts manFacts=new ManFacts.Builder("macrotea", 22).height(180).weight(140).build();
}
分享到:
相关推荐
Builder模式是一种创建型设计模式,它提供了一种创建对象的抽象接口,并允许子类按照步骤构建复杂的对象。这种模式将对象的创建过程分离出来,使得同样的构造过程可以创建不同的表示,从而实现对象创建过程的解耦。 ...
Angular 提供了两种表单模式:模板驱动(Template-driven)和响应式(Reactive)。然而,对于更复杂、动态或需要用户自定义的表单,Angular-Form-Builder 提供了一个直观的解决方案。 **一、Angular-Form-Builder的...
nw-builder 是一个基于 Node.js 的工具,用于构建和打包 WebKit 应用程序,特别是针对桌面平台的...通过结合 Node.js 的服务器端能力与 WebKit 的前端渲染,nw-builder 打造了一种高效、便捷的跨平台桌面应用开发模式。
5. **开发模式**:在开发过程中,可以使用 `swint-builder-html dev` 命令启动开发服务器,实现自动编译和热加载。 ### 实战应用 Swint-Builder-HTML 在实际项目中的应用可以帮助开发者快速构建复杂的单页应用...
ECharts-Theme-Builder, 为ECharts设计自己的主题 ECharts-Theme-Builder为ECharts设计自己的主题联机主题生成器 插件生成$ npm install$ bower install$ gulp watch
这种方式的好处在于可以将业务逻辑与视图层的表示分离,遵循MVC(模型-视图-控制器)的设计模式,使代码更符合最佳实践。 1. **安装与配置** 要开始使用form-builder,首先需要通过Composer将其添加到项目的依赖中...
4. **配置灵活**:允许开发者自定义输出路径、CSS前缀、命名模式等参数。 5. **兼容性好**:支持多种环境,包括Node.js和命令行工具。 **使用方法** 使用`swint-builder-svg`通常包括以下步骤: 1. **安装**:...
"Laravel开发-laravel-datagrid-builder"项目是为了解决这一问题,它结合了Laravel的强大后端能力和前端jQuery Bootgrid插件,创建了一个高效的交互式数据网格。 **Laravel框架**: Laravel是一款基于PHP的开源Web...
1. **Fluent接口**:xml-builder采用Fluent API的设计模式,允许开发者通过链式调用来构建XML元素。例如,可以写`Builder().ele('root').ele('child')`来创建一个嵌套的XML结构。 2. **内建类型转换**:库自动将...
在配置文件中,你可以定制`uglifyjs`的选项,例如是否保留函数名、是否启用压缩模式等。 压缩后的JavaScript文件在加载时会更快,因为传输的数据量更少。这有助于提升网站的PageSpeed分数,对于移动设备尤其重要,...
json-schema-builder 通过面向 UI 的 DSL 生成 JSON-Schema 模式。为什么? 如果您正在构建一些高级的、面向用户的工具来生成 JSON Schema 对象,那么您的内部表示可能会更像数组......这个包旨在采用该内部 DSL 并...
- 开发模式下,`scripts/start.js` 会启动一个 Vue.js 开发服务器,并通过 `electron-connect` 监听其变化,实现实时刷新 Electron 应用。 5. **多平台兼容性** - 通过 Electron Builder 的跨平台支持,`vue-cli-...
Django提供了MVC(Model-View-Controller)架构模式的实现,称为MTV(Model-Template-View),并内置了ORM(Object-Relational Mapping)系统,使得开发者可以轻松处理数据库操作。 **django-report-builder** `...
Builder设计模式是创建型模式之一,主要解决复杂对象的构建问题,使得构建过程与表示分离。 Builder模式的核心思想是将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式通常应用于...
Django是Python的一个高级Web开发框架,它遵循MVC(模型-视图-控制器)设计模式。Django的核心特性包括ORM(对象关系映射)用于数据库操作,内置的模板引擎用于生成HTML,以及强大的URL调度器。它强调可重用性和“干...
设计模式-创建者模式(Builder) 创建者模式(Builder)是软件设计模式中的一种结构型模式,它将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示。该模式允许用户可以只通过指定复杂对象...
在可以使用Vue-Form-Builder时,为什么需要对表单进行编码?通过一些额外的步骤来渲染它:D 好处: 开发中的代码更少(无需自己执行<form> <div> <input> .... </div> </form> ) 易于维护,将来...
1. **Vue.js**:Vue.js是一款轻量级的前端JavaScript框架,它采用组件化开发模式,具有易于学习、高效渲染、可复用性强等特点。Vue.js的虚拟DOM机制使得它在处理数据绑定和UI更新时性能优秀。 2. **查询构建器**:...
通过这些文件,开发者可以了解Gardr Builder的工作原理,学习其设计模式,或者直接将其集成到自己的项目中,利用其强大的构建功能提升开发效率。总的来说,Gardr Builder作为一个前端开源库,为开发者提供了一个便捷...