मैं एक आवेदन लिखना चाहूंगा जैसे कि ईकॉमर्स।
और आप जानते हैं कि समान अनुप्रयोगों में उत्पादों के विभिन्न गुण और विशेषताएं हो सकती हैं। ऐसे अवसर का अनुकरण करने के लिए मैंने निम्नलिखित डोमेन मॉडल इकाइयाँ बनाई हैं:
श्रेणी - यह कुछ ऐसा है जैसे "इलेक्ट्रॉनिक्स> रीकॉम्पूअर" अर्थात उत्पादों के प्रकार। श्रेणी में संपत्तियों की एक सूची होती है (सूची <संपत्ति>)।
संपत्ति - स्वतंत्र इकाई जिसमें नाम, माप की इकाइयाँ, डेटा प्रकार शामिल हैं। उदाहरण के लिए "नाम", "वजन", "स्क्रीन आकार"। एक ही संपत्ति में अलग-अलग उत्पाद हो सकते हैं।
उत्पाद - बस गुणों से संबंधित मानों का नाम और सूची है। मूल्य एक ऐसी वस्तु है जिसमें सिर्फ मूल्य फ़ील्ड और संपत्ति का फ़ील्ड आईडी शामिल है।
मैंने मूल रूप से इस योजना में श्रेणी को एकल कुल की तरह बनाने का फैसला किया है क्योंकि उदाहरण के लिए जब मैं नया उत्पाद जोड़ता हूं तो मुझे वर्तमान श्रेणी से संबंधित सभी डेटा जानने की आवश्यकता होती है जिसमें वर्तमान श्रेणी ( श्रेणी । उत्पाद) (उत्पाद) से संबंधित गुण शामिल हैं । लेकिन मुझे क्या करना चाहिए जब मुझे सिर्फ एक नई संपत्ति जोड़ने की जरूरत है जो किसी भी श्रेणी से संबंधित नहीं है। उदाहरण के लिए, मैं इस श्रेणी को नहीं कर सकता। AddNewProperty (संपत्ति) क्योंकि यह स्पष्ट रूप से कहता है कि हम संपत्ति को विशिष्ट श्रेणी में जोड़ते हैं।
अगला चरण ठीक है मैंने एक अलग एग्रीगेट में अलग प्रॉपर्टी का फैसला किया, लेकिन फिर यह साधारण संस्थाओं के साथ एक सूची होगी।
बेशक मैं प्रॉपर्टीएग्रेगेट जैसा कुछ बना सकता हूं, जो गुणों और व्यापार के नियमों की सूची के अंदर रख सकता हूं, लेकिन जब मैं कोई उत्पाद जोड़ता हूं, तो मुझे श्रेणी के अंदर इस श्रेणी से संबंधित संपत्तियों की पूरी सूची की आवश्यकता होती है, ताकि इन्वर्टर की जांच की जा सके। लेकिन मुझे यह भी पता है कि अन्य समुच्चय पर समुच्चय के अंदर लिंक रखना एक बुरा अभ्यास है।
इस व्यावसायिक मामले को डिजाइन करने के लिए क्या विकल्प हैं?