मैं सी # का उपयोग कर कक्षा पुस्तकालय पर काम कर रहा हूं। मैंने अपने डेटा को मॉडल करने में मदद के लिए 3 मुख्य कक्षाएं तैयार की हैं। वे तैयार कर रहे हैं ऐसा है कि वर्ग एक वर्ग बी उदाहरणों की एक सूची है, और वर्ग बी यानी एक वर्ग सी उदाहरण के लिए एक संदर्भ, शामिल हैं:सी # या ओओपी में, 2 वर्गों को एक-दूसरे से संबंधित होना चाहिए?
public class Policy
{
public List <PolicyTerm> myTerms;
person Customer;
string PolicyNumber;
}
public class PolicyTerm
{
public Billing myBill;
Datetime effectivedate;
List <Activities> termActivities;
public doAction()
{
use value from Policy, like PolicyNumber;
}
}
public class Billing
{
float remainingBalance;
Datetime nextDueDate;
public void doSomething()
{
reference value from PolicyTerm, such as effective date;
use value from Policy, such as PolicyNumber;
}
}
समस्या मेरे पास है
है जब मैं PolicyTerm के भीतर एक विधि का उपयोग करने का प्रयास करें या बिलिंग जिसमें युक्त कक्षा से डेटा की आवश्यकता है। उपर्युक्त उदाहरण में, पॉलिसीटर्म से मूल्य का उपयोग करने की कोशिश करने की विधि "doSomething" विधि होगी, जैसे कि हमारे डेटाबेस में डेटा का अनुरोध करने या सहेजने में शब्द की प्रभावी तिथि।
मुझे आश्चर्य है कि इस परिदृश्य के कारण मेरे वर्गों के लिए मेरे पास सही डिज़ाइन है या नहीं। क्या मुझे माता-पिता के डेटा को उपलब्ध कराने के लिए, बाल कक्षाओं के भीतर "पैरेंट" कक्षा का संदर्भ जोड़ना चाहिए? या मुझे कोड की समग्र संरचना और डिज़ाइन पर पुनर्विचार करने की आवश्यकता है?
मुझे लगता है कि क्लास डिज़ाइन डेटा और हमारे व्यापार नियमों को मॉडलिंग के लिए अच्छी तरह से काम करता है, लेकिन यह उपर्युक्त स्थिति जैसी कुछ सीमाएं बनाता है। मुझे उस कोड को संशोधित करने और स्वतंत्र रूप से परीक्षण करने की अनुमति देने की क्षमता के लिए पॉलिसी टर्म और बिलिंग को अलग करना पसंद आया। साथ ही, मुझे लगता है कि यह प्रत्येक अनुभाग को छोटा और सरल रखता है।
प्रदान की जा सकने वाली कोई भी सलाह बहुत सराहना की जाएगी।
अपडेट: कोड ब्लॉक को प्रश्न में कोड पर अधिक जानकारी प्रदान करने के लिए अपडेट किया गया था।
क्यों आप वास्तविक नीचे स्लिम नहीं है कोड जिसे आप उपयोग करना चाहते हैं और हमें दिखाएं? ऐसा कुछ वास्तव में स्थिति पर निर्भर करता है। – ChaosPandion