क्या ऑब्जेक्ट 1 और 2 में आदिम मान को गुजरने के दौरान पूरे ऑब्जेक्ट को पास करने में ओवरहेड या प्रदर्शन समस्या है?पूर्ण ऑब्जेक्ट बनाम प्राइमेटिव वैल्यू पास करना -
[संपादित करें: मेरा मतलब जावा ऑब्जेक्ट बनाम आदिम प्रकार के संदर्भ को पार करना है। @ टीजे से। पाउडर, मैं समझता हूं कि यहां कोई प्रदर्शन समस्या नहीं है क्योंकि वस्तु संदर्भ आकार दोनों मामलों में समान है। लेकिन एपीआई डिजाइन शैली/परिप्रेक्ष्य के अंतर, जो विकल्प सबसे अच्छा है? ]
मैं वर्तमान में सेवा परत को परिभाषित कर रहा हूं। मैं पसंद "टाइप 1" के रूप में मैं इसे, चाहते लेकिन अगर 'टाइप 2' प्रदर्शन के लिए अच्छा है, मैं प्रकार 2.
Class A {
User user = SomeClass.getUser("anUser");
B b = new B();
b.doSomeOperation(user); // option 1
b.doSomeOperation(user.getUserId()); // option 2
}
Class B {
// Type 1
public void doSomeOperation(User user){
// some work done by using user.getUserId()
// I do not really need whole user object now.
}
// Type 2
public void doSomeOperation(int userId){
// some work done by userId
}
}
यह वास्तव में ऑब्जेक्ट को पास नहीं करता है। यह केवल उस ऑब्जेक्ट के संदर्भ की प्रतिलिपि बनाता है, जो वास्तविक वस्तु को इंगित करता है। –