का उपयोग कर रहा है 3 वर्गों:जावा विरासत, बिल्डर पैटर्न
- त्रुटि
- ShellError
- WebError
जहां
ShellError extends Error
और
WebError extends Error
ShellError
में ऐसे क्षेत्र हैं जिनमें से कुछ वैकल्पिक हैं और अन्य आवश्यक हैं। आगे
shellError = new ShellError.Builder().setFile(filePattern)
.setHost(host).setPath(path).setSource(file.isSource())
.setJobName(p.getJobName()).build();
ShellError
के बाद से फैली Error
, मैं: मैं निम्नलिखित तरीके से वस्तु के निर्माण कर रहा हूँ
shellError.setDescription(msg.toString());
shellError.setExceptionClass("MyEvilException");
shellError.setExceptionMessage("Some clever error message");
shellError.setStacktrace(stack);
तो ... क्यों बिल्डर से परेशान? मुझे यह तथ्य पसंद है कि मेरे निर्माण() अन्य चीजों के साथ आसानी से मान्य हैं कि सभी फ़ील्ड उचित रूप से सेट किए गए हैं।
अगर मैं कर सकता हूं तो मैं इसे प्यार करूंगा .. बिल्ड() ShellError
और Error
कक्षा से फ़ील्ड इसमें जोड़ें।
मैंने क्या काम किया।
- सवाल यह है:
वहाँ एक बेहतर तरीका है, या यह मैं क्या किया मतलब है?
- संपादित करें
मैं अद्यतन बिल्डर() पैरामीटर जो पहले त्रुटि कक्षा में थे में से कुछ को स्वीकार करने के। अब मेरे पास
shellError = new ShellError.Builder(exception, "Some description").setFile(filePattern).setHost(host)
.setPath(path).setSource(file.isSource()).
setJobName(p.getJobName()).build();
आप क्या कहते हैं? बेहतर? और भी बुरा?
बस इस पोस्ट को पूरा करने, "मामूली संस्करण" का अर्थ है: पिछले और अंतिम उदाहरण में: (1) निर्माता को (2) obj होना चाहिए और यह ओबीजे सुरक्षित होना चाहिए (3) निर्मित -> obj –