Gson源码研究(二) 建造者模式创建Gson对象
来源:互联网 发布:便宜的香水知乎 编辑:程序博客网 时间:2024/05/14 11:30
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">//默认创建</span>Gson gson= new Gson();
//通过GsonBuilder创建
GsonBuilder builder=new GsonBuilder();
Gson gson=builder.create();
创建Gson对象可以使用new Gson对象,也可以使用GsonBuilder来创建Gson对象。
new Gson()创建的Gson对象是默认配置的Gson对象
使用GsonBuilder可以设置各种组件来创建特殊的Gson对象。
推荐使用GsonBuilder的create()方式来创建Gson对象
其中GsonBuilder创建Gson对象使用了设计模式建造者模式
GsonBuilder在配置Gson对象所需要的功能使用了链式的方式,有点像jquery链式调用来配置
最后调用create()来创建Gson,这些配置不需要按顺序调用
Gson gson = new GsonBuilder()
.registerTypeAdapter(Id.class, new IdTypeAdapter())
.enableComplexMapKeySerialization()
.serializeNulls()
.setDateFormat(DateFormat.LONG)
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.setPrettyPrinting()
.setVersion(1.0)
.create();
配置方法清单介绍:
建造者模式
产品:Gson
创建者:GsonBuilder 主要创建Gson对象
导演者:用户调用GsonBuilder
下面是我模拟的GsonBuilder创建Gson的创建者模式
仅供查考:
package com.zghw.gson;public final class GsonBuilder { private Object config1 = new Object(); private Object config2 = new Object(); private Object confign = new Object(); /** * 创建者设置配置 * * @param config1 * @return */ public GsonBuilder setConfig1(String config1) { this.config1=config1; System.out.println("设置配置1后返回,配置后的创建者"); return new GsonBuilder(); } /** * 创建者设置配置2 * * @param config2 * @return */ public GsonBuilder setConfig2(String config2) { this.config2=config2; System.out.println("设置配置2后返回,配置后的创建者"); return new GsonBuilder(); } /** * 设置配置N * * @return */ public GsonBuilder setConfign() { this.confign=config1; System.out.println("设置配置n后返回配置后的创建者"); return new GsonBuilder(); } public Gson create() { System.out.println("组合各种配置进行产品的创建"); return new Gson(config1,config2,confign); }}
package com.zghw.gson;public final class Gson { public Gson() { this(new Object(),new Object(),new Object()); } Gson(Object config1, Object config2, Object config3) { System.out.println("初始化所有配置!"); }}
0 0
- Gson源码研究(二) 建造者模式创建Gson对象
- Gson源码分析二
- Gson源码
- gson<二>
- 建造模式(对象创建)
- 创建模式之二 建造者模式
- Gson Advanced — 自定义对象实例创建
- 复杂对象的组装与创建——建造者模式(二):建造者模式解决方案
- 建造者模式-Builder Pattern 复杂对象的组装与创建——建造者模式(二):游戏角色设计的建造者模式解决方案
- Gson
- Gson
- Gson
- Gson
- GSON
- Gson
- Gson
- Gson
- Gson
- Hello Swift!<Appdelegate的生命周期以及变量定义>
- Jetty 的工作原理以及与 Tomcat 的比较
- asp.net中http提交数据所遇到的那些坑
- 突破口,横冲直撞也许是最好的
- java接口的作用
- Gson源码研究(二) 建造者模式创建Gson对象
- SVN代码管理经验
- 关于前端WPO(网站性能优化)
- Android 上传图片到 Asp.Net 服务器的问题
- grep 返回值问题
- 多线程同步与互斥
- 如何禁止页面缓存
- SVN管理经验
- Freemarker与SpringMVC集成,配置项目全局的绝对路径