构造者模式和策略模式比较类似,都是由一个调用方和被调用方组成,只是构造者模式一般用于更复杂的情况,虽然具体的工作由被调用方实现,但是调用方确定实现的先后顺序。

1、定义Builder接口

public interface Builder {void window();void door();void floor();void ground();void yard();
}

2、Builder接口的两个实现类

public class HouseBuilder implements Builder {@Overridepublic void window() {System.out.println("house window");}@Overridepublic void door() {System.out.println("house door");}@Overridepublic void floor() {System.out.println("house floor");}@Overridepublic void ground() {System.out.println("house ground");}@Overridepublic void yard() {System.out.println("house yard");}
}
public class VillaBuilder implements Builder{@Overridepublic void window() {System.out.println("villa window");}@Overridepublic void door() {System.out.println("villa door");}@Overridepublic void floor() {System.out.println("villa floor");}@Overridepublic void ground() {System.out.println("villa ground");}@Overridepublic void yard() {System.out.println("villa yard");}
}

3、主类

public class Main {private Builder builder;public Main(Builder builder) {this.builder = builder;}public void create() {builder.floor();builder.ground();builder.door();builder.window();builder.yard();}
}

4、测试

public class Test {public static void main(String[] args) {Main house = new Main(new HouseBuilder());house.create();Main villa = new Main(new VillaBuilder());villa.create();}}

Java 设计模式之构造者模式相关推荐

  1. java设计模式4--建造者模式(Builder)

    本文地址:http://www.cnblogs.com/archimedes/p/java-builder-pattern.html,转载请注明源地址. 建造者模式 将一个复杂对象的构建与它的表示分离 ...

  2. Java设计模式10,建造者模式

    目录 一.建造者模式 二.建造者模式的结构 1.抽象建造者(Builder) 2.具体建造者(ConcreteBuilder) 3.指挥者(Director) 4.产品(Product) 三.建造者模 ...

  3. Java设计模式(装饰者模式-组合模式-外观模式-享元模式)

    Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...

  4. Java设计模式-观察者模式(订阅发布模式)

    Java设计模式-观察者模式(订阅发布模式) 一起来看 会了就当复习丫,不会来一起来看看吧. 很喜欢一句话:"八小时内谋生活,八小时外谋发展". 如果你也喜欢,让我们一起坚持吧!! ...

  5. 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式

    简介:[Java设计模式]接口型模式–Adapter(适配器)模式Adapter模式的宗旨就是:向客户提供接口,并使用现有的类所提供的服务,以满足客户的需求. 或者说,现在有classA的方法满足客户 ...

  6. java设计模式2-观察者模式

    java设计模式2-观察者模式 什么是观察者模式? 何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新. 在这里,发生改变 ...

  7. Java设计模式之中介者模式(UML类图分析+代码详解)

    大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...

  8. Java设计模式之享元模式(UML类图分析+代码详解)

    大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...

  9. java设计模式3种工厂模式

    java设计模式3种工厂模式 2010-01-08 16:06:36|  分类: JAVA技术|举报|字号 订阅 下载LOFTER客户端 工厂模式分为三种: Simple Factory模式 专门定义 ...

最新文章

  1. YOLObile:面向移动设备的「实时目标检测」算法
  2. PHP自动加载上——spl_autoload_register
  3. garch预测 python_安利几个非常实用的 Python 库
  4. vector容器动态申请内存的过程_记录一次自定义Allocator profile的过程
  5. 一条关于swap争用的报警邮件分析(一)
  6. 设置mysql密码 Access denied 问题
  7. mysqls为node.js而编写的sql语句生成插件 crud for mysql.
  8. 3.调试与配置,控制器
  9. 暑假第一战——java+mysql 个人信息管理系统
  10. python的messagebox的用法_PyQt5快速上手基础篇5-messagebox用法
  11. 凤凰架构4——透明多级分流系统
  12. 【2018.12.28】百度网盘永久保存2T容量办法
  13. 跑跑卡丁车显示服务器断开连接,win10系统电脑玩跑跑卡丁车出现与服务器断开连接的详细技巧...
  14. 安全牛《2020中国网络安全企业100强报告》发布
  15. 移动应用专项测试的思路和方法
  16. 使用Flow forecast进行时间序列预测和分类的迁移学习介绍
  17. Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)
  18. 学计算机编程我有什么好处,学习计算机编程对我们都有什么好处?
  19. 爬虫:爬取以太坊区块链浏览器数据
  20. 分享美食菜谱,可以收藏哦

热门文章

  1. 【英语学习】【Daily English】U03 Leisure Time L03 Hiking and camping are some of his favorites.
  2. 数据链路层的一些总结
  3. 实时音频编程(二):实践与技巧
  4. IOS UI Automation 学习之常用类,方法和模拟手势
  5. 思科CEO钱伯斯的动荡一年:往事不堪回首
  6. VLAN TAG 实例
  7. ENtEntityFranework 的简单应用(一)
  8. cacheinterceptor第二次访问没被调用_双分派访问者模式的前世今生
  9. python做一个小游戏_利用python做个小游戏
  10. MATLAB学习笔记(七)