射击末世--建造者模式
理解就是通过builder和使用builder的类来对对象进行封装建造
//direct是直接使用的
public class Direct {private Builder builder;public Direct(Builder builder){this.builder=builder;}public Bike consturct(){builder.buildFrame();builder.buildSeat();//builder直接生成bikereturn builder.createBike();}
}
优化版
class Phone{public static void main(String[] args) {Phone ohone = new BuilderPhone().cpu("三星").model("lsp").builder();System.out.println(ohone);}private String cpu;private String model;private Phone(BuilderPhone builder){this.cpu=builder.cpu;this.model=builder.model;}@Overridepublic String toString() {return "Phone{" +"cpu='" + cpu + '\'' +", model='" + model + '\'' +'}';}//直接使用对象的静态内部类生成返回对象private static final class BuilderPhone{private String cpu;private String model;public BuilderPhone cpu(String cpu){this.cpu=cpu;return this;}public BuilderPhone model(String model){this.model=model;return this;}public Phone builder(){return new Phone(this);}}
}
射击末世--建造者模式相关推荐
- 射击末世--代理模式
代理模式分为三部分 1.静态代理 1.抽象主题类 //抽象主题类 public interface SellTicket {public void sell(); } 2.具体主题类 //具体主题类 ...
- GOF23设计模式(创建型模式)建造者模式
使用场景: 我们要建造一个复杂的产品,比如生产一辆汽车.一部手机,这都是由很多零部件组成的,这时候就需要用到我们的建造者模式,将每个零部件分别生产,然后再装配~~ 以下,我将以一个手机的生产过程为实例 ...
- 设计模式 之美 -- 建造者模式
文章目录 1. 解决问题 2. 应用场景 3. 实现 C语言实现 C++实现 4. 缺点 1. 解决问题 描述如下场景: 类的数据成员很多(8个以上),当我们进行初始化的时候放在初始化列表中,影响类的 ...
- 设计模式之建造者模式(生成器模式、Builder)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.FactoryMethod(工厂方法模式):2.Abstract Factory(抽象工厂模式):3.Sin ...
- 动态表单构建器——建造者模式
在编写一个弹出框时,它可以包含确定按钮,取消按钮,标题栏,关闭按钮,最小化按钮,内容,最大化按钮等内容,但这些内容在不同的需求下又不是必须存在的,不同的需求需要对这些组件自由组合,显然每次组合都要重复 ...
- Python设计模式-建造者模式
Python设计模式-建造者模式 代码基于3.5.2,代码如下; #coding:utf-8 #建造者模式 class Burger():name = ""price = 0.0d ...
- 设计模式-建造者模式(05)
定义 建造者模式(Builder Pattern)也叫做生成器模式.英文原话是:Separate the construction of a complex object from its repre ...
- php设计模式 - 建造者模式
为什么80%的码农都做不了架构师?>>> <?php /*** 建造者模式* * 将一个复杂对象的构建与它的表示分离,使用同样的构建过程可以创建不同的表示 */ clas ...
- java中自造类是什么意思_Java建造者模式是什么?如何实现?(附代码)
本篇文章给大家带来的内容是关于Java建造者模式是什么?如何实现?(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 建造者模式 一.什么是建筑者模式? 建造者模式(Build ...
最新文章
- JSF中的h:commandLink如何传递参数 三种取值比较
- C Operator | and can also operate bool operands
- Java容器集合类的区别用法
- 05-cache相关的系统寄存器
- Spring Session官方介绍及spring框架学习方法
- Promise之异步调用
- YBTOJ洛谷P3292:幸运数字(线性基、点分治/倍增)
- Mysql数据库备份和按条件导出表数据
- STM32CubeMX 配置STM32F407 实现HAL库延时微妙方案
- 线性系列DC-DC转换器工作原理
- 《神经网络与深度学习》(Michael Nielsen)Neural Networks and Deep Learning习题解答汇总
- 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现
- Sqoop export columns 参数使用
- SOA教程之:SOA的优点和缺点
- 应用示例:图像文字识别
- 基于构件技术的流程银行,再造核心竞争力
- 2016年11月5日学习总结
- delphi bpl包窗体继承
- 常用的3D深度相机汇总
- 自学考c语言计算机二级会,自学明年考计算机二级C语言