एक लंबा शीर्षक की तरह, लेकिन यह आम तौर पर सवाल है।क्या आवेदन तर्क से रक्षात्मक जांच को हटाने के लिए पहलुओं का उपयोग करना एक अच्छा विचार है?
मुझे पता है कि यदि आप निम्न कार्य करने के लिए अपने एक अच्छा विचार लगता है चाहता हूँ।
public void buyItem(int itemId, int buyerId) {
if (itemId <= 0) {
throw new IlleglArgumentException("itemId must be positive");
}
if (buyerId <= 0) {
throw new IlleglArgumentException("buyerId must be positive");
}
// buy logic
}
मैं की तरह कुछ करना चाहते हैं:
बजाय@Defensive("isPositive(#itemId, #buyerId)")
public void buyItem(int itemId, int buyerId) {
// buy logic
}
क्या आपको लगता है यह अच्छा/भयानक/भी फैंसी/बहुत धीमी है? यदि आप वास्तव में अच्छा सोचते हैं तो मैं इसे लागू करने के लिए SpEL का उपयोग करने की सोच रहा था, क्या किसी के पास कुछ बेहतर/हल्का/तेज है?
धन्यवाद,
और यह एनोटेशन के अंदर किसी अन्य भाषा का परिचय । –
असल में यह सवाल मेरे सिर में 'सुरक्षित' का उपयोग करने के दुष्प्रभाव के रूप में मिला। लेकिन चूंकि हम पहले से ही विधि स्तर सुरक्षा के लिए '@ सुरक्षित 'का उपयोग करते हैं, इसलिए यह आईएमओ को डिफेंसिव चेक के लिए उपयोग करने में भ्रमित होगा, इसलिए मैं इसे करने के विचारों के बारे में पूछ रहा हूं और चूंकि' सुरक्षित' और 'प्रीअधिकृत' का उपयोग SPEL I सोचा कि स्पष्ट पसंद है। – Simeon
डाउनवोट क्यों? – Simeon