Mat*_*ský 13 design-patterns builder
我想看看Builder模式在现实世界的应用程序/ API中是如何使用的.我发现的例子包括比萨饼,蛋糕,汽车等等(加上GoF书中的解析器示例).
你能否告诉我这个模式在实际应用程序/ API中的一些用法,最好是来自C++,.NET或PHP的世界(因为那些是我熟悉的语言).
谢谢.
更新:我最近遇到了一个更好的例子(imo).在Quartz调度程序包中查看JobBuilder和TriggerBuilder实现:http://quartz-scheduler.org/api/2.1.5/
此外,当我有时间,只是为了娱乐/练习,我尝试在java中编写所有GoF模式的示例.就在最近,我使用Builder模式可以轻松生成不同类型的Sitemaps(google站点地图vs,html站点地图等).代码在java中,但您可能会很有用:https://github.com/dparoulek/java-koans/tree/master/src/main/java/com/upgradingdave/koans/builder
好问题,我也有兴趣看到更多现代的例子.
在构建Json对象时,使用构建器模式javax.json.Json和javax.json.JsonBuilder类.
很好的解释是在http://www.programcreek.com/java-api-examples/index.php?api=javax.json.JsonObjectBuilder,并查看其官方文档.
JsonObjectBuilder b = Json.createObjectBuilder().
add( "report", Json.createObjectBuilder().
add( "reportId", reportId ).
add( "title", title ).
add( "subtitle", subTitle == null ? "" : subTitle ).
add( "created", created.toString() ).
add( "description", description == null ? "" : description ).
add( "data", report )
);
return b.build();
Run Code Online (Sandbox Code Playgroud)