2011-03-06 20 views
9

के वास्तविक दुनिया के उदाहरण मैं देखना चाहता हूं कि वास्तविक दुनिया अनुप्रयोगों/एपीआई में बिल्डर पैटर्न का उपयोग कैसे किया जाता है। मुझे मिले उदाहरण सभी पिज्जा, केक, कार एट कैटेरा (साथ ही गोफ बुक से पार्सर उदाहरण) हैं।बिल्डर पैटर्न

क्या आप कृपया मुझे वास्तविक दुनिया के अनुप्रयोगों/एपीआई में इस पैटन के कुछ उपयोगों के बारे में बता सकते हैं, अधिमानतः सी ++, .NET या PHP की दुनिया से (जैसे वे भाषाएं मुझे परिचित हैं)।

धन्यवाद।

+0

संबंधित सवाल: http://stackoverflow.com/questions/328496/when-would-you-use-the-builder-pattern –

उत्तर

6

अपडेट: मैं हाल ही में एक बेहतर उदाहरण (आईएमओ) में आया हूं। क्वार्ट्ज शेड्यूलर पैकेज में जॉबबिल्डर और ट्रिगरबिल्डर कार्यान्वयन चेकआउट करें: http://quartz-scheduler.org/api/2.1.5/

साथ ही, जब मेरे पास समय है, तो बस मज़ेदार/अभ्यास के लिए, मैं जावा में सभी गोफ पैटर्न के उदाहरण लिखने का प्रयास करता हूं। हाल ही में, मैंने बिल्डर पैटर्न का उपयोग विभिन्न प्रकार के साइटमैप (Google साइट मैप बनाम, एचटीएमएल साइट मैप इत्यादि) उत्पन्न करना आसान बनाने के लिए किया था। कोड जावा में है, लेकिन आप उपयोगी हो सकते हैं: https://github.com/dparoulek/java-koans/tree/master/src/main/java/com/upgradingdave/koans/builder

अच्छा सवाल है, मुझे और भी आधुनिक उदाहरण देखने में दिलचस्पी होगी।

+0

कि वास्तव में बहुत अच्छा उदाहरण है, धन्यवाद है। –

+0

@ डेव पैराउलेक - यह जांचें [पोस्ट] (http://stackoverflow.com/questions/15461083/builder-pattern-which-variant-is-preferred) और यह क्यों अच्छा नहीं है पर स्पष्टीकरण। कुछ साझा करना जो मैंने आज भी सीखा - बिल्डर पैटर्न का अपरिवर्तनीय पहलू! – Narita

2

बिल्डर पैटर्न का उपयोग javax.json.Json और javax.json.JsonBuilder कक्षाओं में जेसन ऑब्जेक्ट्स के निर्माण के दौरान किया जाता है।

अच्छी व्याख्या http://www.programcreek.com/java-api-examples/index.php?api=javax.json.JsonObjectBuilder पर है और इसकी official documentation भी देखें।

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(); 
संबंधित मुद्दे