कौन सा एक एपीआई डिजाइन करने के लिए बेहतर तरीका होगा:स्वच्छ एपीआई डिजाइन
Example A:
public class UserService {
public void addUser(final User user);
public void addUserToIndex(final User user, final int index);
public User lookUpUser(final User user);
public User getUserByIndex(final int index);
public void removeUser(final User user);
public List<User> getAllUsers();
}
Example B:
public class UserService {
public void add(final User user);
public void add(final User user, final int index);
public User lookUp(final User user);
public User get(final int index);
public void remove(final User user);
public List<User> getAll();
}
जाहिर है इस कोड नहीं चलेगा - यह सिर्फ समस्या को दिखाना चाहिए। मुझे दूसरा दृष्टिकोण पसंद है। विधि का नाम थोड़ा सा सामान्य हो सकता है लेकिन संदर्भ (क्लासनाम, पैरामीटर, रिटर्न टाइप) इसे बहुत स्पष्ट बनाता है। एक समस्या जो दूसरी दृष्टिकोण हो सकती है, क्या होता है यदि मुझे एक ही प्रकार के साथ एक और विधि प्राप्त करने की आवश्यकता होगी। उदाहरण के लिए, यदि मैं अपनी उम्र से उपयोगकर्ता प्राप्त करना चाहता हूं। किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद।
कुकू
+1 उदाहरण के लिए बी, लेकिन मुझे शायद ही यह प्रश्न रचनात्मक लगता है क्योंकि उत्तर बहुत ही व्यक्तिपरक है –
मुझे लगता है कि एक सामान्य उपयोग 'userService.addUser (उपयोगकर्ता) 'होगा जो विकल्प ए को अनावश्यक बनाता है। – Xion
'सार्वजनिक शून्य जोड़ें (अंतिम उपयोगकर्ता उपयोगकर्ता, अंतिम int अनुक्रमणिका) की बजाय; ', आपको' सार्वजनिक शून्य डालने (अंतिम उपयोगकर्ता उपयोगकर्ता, अंतिम int अनुक्रमणिका) पर विचार करना चाहिए;'। मेरा मानना है कि यह जावा एपीआई में आमतौर पर इस्तेमाल किया जाने वाला नाम है। –