तक पहुँचने जावा में बनाम तरीकों के खेतों से गुजर रहा, निम्नलिखित वर्ग दी:जावा शैली/बेस्ट प्रैक्टिस - सीधे
public class MyClass {
private final Dependency dependency;
public MyClass(Dependency dependency)
{
this.dependency = dependency;
}
public void doWork()
{
// validate dependency...
}
doWork विधि एक विधि dependency
का उपयोग करता है को लागू करने की जरूरत है।
निम्नलिखित दो भिन्नताओं में से कौन सा "सर्वोत्तम अभ्यास" माना जाता है, और क्यों?
// Access dependency directly
void validateDependency()
{
this.dependency.something();
}
// access dependency as passed to the method
void validateDependency(Dependency dependency)
{
dependency.something();
}
मैं अपने आप को, बाद के पक्ष में विधि करने के लिए सीधे निर्भरता गुजर मिल जाए, के रूप में यह विधि अलगाव में परीक्षण करने के लिए (हालांकि, मामूली) आसान बना देता है।
हालांकि, मुझे यहां जावा सम्मेलन/सर्वोत्तम अभ्यास में रूचि है।
यह निश्चित रूप से स्थिति पर निर्भर करता है। –
बिल्कुल! स्थिति पर निर्भर करता है - उदाहरण के लिए, यदि आपके पास ऐसे ऑपरेशन हैं जो अस्थायी रूप से युग्मित हैं (किसी विशिष्ट क्रम में कॉल करने की आवश्यकता है), तो आपको बाद वाले का उपयोग करना चाहिए। अन्यथा आप अपने कोड के ग्राहकों/रखरखाव के साथ एनपीई या अधिक भ्रमित व्यवहार प्राप्त कर सकते हैं। – lucas1000001
भी, इसे चरम पर ले जाने के लिए - मुझे लगता है कि आप वास्तव में कार्यात्मक बनाम ऑब्जेक्ट उन्मुख प्रोग्रामिंग शैलियों पर विचार कर रहे हैं - ओओ पूर्व होने के बाद, और बाद वाले कार्यात्मक। – lucas1000001