Java 设计模式之构造者模式
构造者模式和策略模式比较类似,都是由一个调用方和被调用方组成,只是构造者模式一般用于更复杂的情况,虽然具体的工作由被调用方实现,但是调用方确定实现的先后顺序。
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 设计模式之构造者模式相关推荐
- java设计模式4--建造者模式(Builder)
本文地址:http://www.cnblogs.com/archimedes/p/java-builder-pattern.html,转载请注明源地址. 建造者模式 将一个复杂对象的构建与它的表示分离 ...
- Java设计模式10,建造者模式
目录 一.建造者模式 二.建造者模式的结构 1.抽象建造者(Builder) 2.具体建造者(ConcreteBuilder) 3.指挥者(Director) 4.产品(Product) 三.建造者模 ...
- Java设计模式(装饰者模式-组合模式-外观模式-享元模式)
Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...
- Java设计模式-观察者模式(订阅发布模式)
Java设计模式-观察者模式(订阅发布模式) 一起来看 会了就当复习丫,不会来一起来看看吧. 很喜欢一句话:"八小时内谋生活,八小时外谋发展". 如果你也喜欢,让我们一起坚持吧!! ...
- 适配接口 java_【Java 设计模式】接口型模式--Adapter(适配器)模式
简介:[Java设计模式]接口型模式–Adapter(适配器)模式Adapter模式的宗旨就是:向客户提供接口,并使用现有的类所提供的服务,以满足客户的需求. 或者说,现在有classA的方法满足客户 ...
- java设计模式2-观察者模式
java设计模式2-观察者模式 什么是观察者模式? 何谓观察者模式?观察者模式定义了对象之间的一对多依赖关系,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并且自动更新. 在这里,发生改变 ...
- Java设计模式之中介者模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- Java设计模式之享元模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- java设计模式3种工厂模式
java设计模式3种工厂模式 2010-01-08 16:06:36| 分类: JAVA技术|举报|字号 订阅 下载LOFTER客户端 工厂模式分为三种: Simple Factory模式 专门定义 ...
最新文章
- YOLObile:面向移动设备的「实时目标检测」算法
- PHP自动加载上——spl_autoload_register
- garch预测 python_安利几个非常实用的 Python 库
- vector容器动态申请内存的过程_记录一次自定义Allocator profile的过程
- 一条关于swap争用的报警邮件分析(一)
- 设置mysql密码 Access denied 问题
- mysqls为node.js而编写的sql语句生成插件 crud for mysql.
- 3.调试与配置,控制器
- 暑假第一战——java+mysql 个人信息管理系统
- python的messagebox的用法_PyQt5快速上手基础篇5-messagebox用法
- 凤凰架构4——透明多级分流系统
- 【2018.12.28】百度网盘永久保存2T容量办法
- 跑跑卡丁车显示服务器断开连接,win10系统电脑玩跑跑卡丁车出现与服务器断开连接的详细技巧...
- 安全牛《2020中国网络安全企业100强报告》发布
- 移动应用专项测试的思路和方法
- 使用Flow forecast进行时间序列预测和分类的迁移学习介绍
- Convolutional Neural Networks for Sentence Classification(卷积神经网络句子分类)
- 学计算机编程我有什么好处,学习计算机编程对我们都有什么好处?
- 爬虫:爬取以太坊区块链浏览器数据
- 分享美食菜谱,可以收藏哦
热门文章
- 【英语学习】【Daily English】U03 Leisure Time L03 Hiking and camping are some of his favorites.
- 数据链路层的一些总结
- 实时音频编程(二):实践与技巧
- IOS UI Automation 学习之常用类,方法和模拟手势
- 思科CEO钱伯斯的动荡一年:往事不堪回首
- VLAN TAG 实例
- ENtEntityFranework 的简单应用(一)
- cacheinterceptor第二次访问没被调用_双分派访问者模式的前世今生
- python做一个小游戏_利用python做个小游戏
- MATLAB学习笔记(七)