जब भी मैं किसी नए प्रोजेक्ट पर काम करना शुरू करता हूं, मैं अपने साथ मानसिक बहस करता हूं और मैं अपने पोक्सो डिजाइन कर रहा हूं। मैंने कई ट्यूटोरियल / कोड नमूने देखे हैं जो विदेशी प्रमुख संगठनों के पक्ष में लगते हैं :
विदेशी कुंजी एसोसिएशन
public class Order
{
public int ID { get; set; }
public int CustomerID { get; set; } // <-- Customer ID
...
}
स्वतंत्र संघों के विपरीत :
स्वतंत्र एसोसिएशन
public class Order
{
public int ID { get; set; }
public Customer Customer { get; set; } // <-- Customer object
...
}
मैंने अतीत में NHibernate के साथ काम किया है, और स्वतंत्र संघों का उपयोग किया है, जो न केवल अधिक OO महसूस करते हैं, बल्कि (केवल आलसी लोडिंग के साथ) मुझे केवल अपनी आईडी के बजाय पूरे ग्राहक ऑब्जेक्ट तक पहुंच देने का लाभ है। यह मुझे उदाहरण के लिए, एक आदेश उदाहरण को पुनः प्राप्त करने की अनुमति देता है और फिर Order.Customer.FirstName
स्पष्ट रूप से शामिल होने के बिना करता है, जो बेहद सुविधाजनक है।
इसलिए पुनरावृत्ति करने के लिए, मेरे प्रश्न हैं:
- क्या स्वतंत्र संघों का उपयोग करने में कोई महत्वपूर्ण नुकसान हैं? तथा...
- यदि कोई नहीं है, तो विदेशी प्रमुख संघों का उपयोग करने का क्या कारण होगा?