Builder模式可以说是最简单的设计模式了,它的原理就是封装set方法,每一步都由Builder对象来完成,使构建过程和部件的表示隔离开来,这里就仿造Android中的AlterDialog中的Builder模式

例如,用Builder模式来构造一个Person对象,对象如下:

public class Person {private String name;private String sex;private int height;private void setName(String name) {this.name = name;}private void setSex(String sex) {this.sex = sex;}private void setHeight(int height) {this.height = height;}
}

注意,这里的set函数全都是private的,因为属性应该由Builder对象进行设置,而不是直接使用Person对象设置,完整的代码如下:

public class Person {private String name;private String sex;private int height;private void setName(String name) {this.name = name;}private void setSex(String sex) {this.sex = sex;}private void setHeight(int height) {this.height = height;}public static class Builder{private Person person = null;public Builder() {person = new Person();}public Builder setName(String name) {person.name = name;return this;}public Builder setSex(String sex) {person.sex = sex;return this;}public Builder setHeight(int height) {person.height = height;return this;}public Person create() {return person;}}
}

这样就是一个简单Builder模式的实现了,因为Builder模式比较简单,大致都差不多

Builder模式的简单示例相关推荐

  1. Android设计模式之——Builder模式

    一.介绍 Builder模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细的控制对象的构造流程.该模式是为了将构建复杂对象的过程和它的部件解耦,使得构建过程 ...

  2. Builder模式演义

    引言 不用怀疑,你一定遇到和使用过它,它在Android源码和各种开源组件中是如此常见.这是一种你可以不知道怎么运用,但是知道了会欲罢不能的设计模式. 定义 Builder模式(建造者模式,有人称作生 ...

  3. Android常用设计模式之Builder模式理解

    Android常用设计模式之Builder模式 1 单例模式 2 Builder模式 Builder模式的应用场景 总结 1 单例模式 单例模式之前有详细的介绍,可移步到链接: 常见的单例模式及其特点 ...

  4. JAVA Builder模式构建MAP/LIST的示例

    我们在构建一个MAP时,要不停的调用put,有时候看着觉得很麻烦,刚好,看了下builder模式,觉得这思路不错,于是乎,照着用builder模式写了一个构建MAP的示例,代码如下: import j ...

  5. Angularjs切换网站配色模式简单示例2(切换body元素的class)

    一个网站可以有多种配色方案,例如正常模式,夜间模式等. 简单示例一个通过点击toggle 按钮,切换body元素的class,达到切换配色模式的angularjs小app. 1. Live范例可以在以 ...

  6. Angularjs切换网站配色模式简单示例1(切换css文件)

    一个网站可以有多种配色方案,例如正常模式,夜间模式等. 简单示例一个通过点击按钮,更换css文件,达到切换配色模式的angularjs 小app. 主要文件有三个:index.html(主文件),wh ...

  7. Builder模式简单理解

    Builder 模式 Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 那么Builder模式的用场景呢? (1) 相同的方法,不同的执行顺序,产生不同的 ...

  8. Java 常用设计模式 -- Builder模式

    Builder模式是在Java中最流行的模式之一.它很简单,有助于保持对象不可变,并且可以使用Project Lombok的@Builder或Immutables等工具生成,仅举几例. 模式的流畅变体 ...

  9. GOF对Builder模式的定义(转载)

    (1)意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. (2)适用性 1. 当创建复杂对象的算法应该独立于该对象的组成部分以及他们的装配方式: 2. 当构造过程必须允许 ...

  10. 二、抽象层的Builder模式

    Builder模式非常适合类层次结构. 使用平行层次的builder,每个嵌套在相应的类中. 抽象类有抽象的builder; 具体的类有具体的builder. 例如,考虑代表各种比萨饼的根层次结构的抽 ...

最新文章

  1. linux系统最大支持多大硬盘容量,LINUX操作系统对硬件支持有上限么?最大多少内存?多大硬盘容量?...
  2. PhpCms V9调用指定栏目子栏目文章的方法
  3. 今晚直播 | 旷视研究院王毅:用于条件图像生成的注意力归一化
  4. 汇编语言-019(汇编程序与c\c++相互调用)
  5. 用mac的python写网络爬虫_在mac下使用python抓取数据
  6. 如何使用Wondershare Recoverit for Mac从崩溃的 Mac 恢复数据?
  7. 这才是真正适合小白的教程:Python有什么用?数据化运营怎么做?
  8. oss图片尺寸调用方式_CDN百科11 | 如何用CDN加速OSS源站资源
  9. 手把手教你用Vue.js封装Form组件
  10. 009一对一 主键关联映射_单向(one-to-one)
  11. ASUS TUF Gaming B460M PLUS+RX570+BCM94360CD黑苹果EFI引导文件
  12. 福利:阿里巴巴Java开发手册(第2版)
  13. go[x]agent在windows和ubuntu下的安装步骤
  14. EpiQuik病毒RNA提取试剂盒,快速、简单、经济有效
  15. 阿里云商标注册快速上手笔记(新手图文教程)
  16. 数学建模|预测方法:马尔科夫预测
  17. 【教程】区块链是数据库?那么区块链的数据存储在哪里?如何查看数据?FISCO-BCOS如何更换区块链的数据存储,由RocksDB更换为MySQL、MariaDB,联盟链区块链数据库,区块链数据库应用
  18. opencv中findContours 和drawContours画图函数
  19. 安卓 模拟返回按键
  20. 经典按键java手机游戏_盘点曾经红极一时的手机游戏,每款都是经典中的经典...

热门文章

  1. 微机原理交通灯控制系统设计
  2. select2使用问题--删除添加select2的DOM
  3. CI框架全局登录控制
  4. 直播app源码开发,聊天服务器的搭建教程
  5. 示波器学习笔记(2)——模拟示波器
  6. mac使用jeb记录
  7. SQL注入基础语句大全
  8. 用户手册 (V4.0 版)
  9. 微信公众号添加html,微信公众号如何在文章里添加超链接的方法教程
  10. 9.3 匿名性和隐私性