26

मैं सिद्धांत 1.2 उपयोग कर रहा हूँ एक सिम्फोनी परियोजना पर, और मैं ठोस और स्तंभ एकत्रीकरण विरासत प्रकार के मिश्रण मेरी स्कीमा में विचार कर रहा हूँ में विभिन्न विरासत प्रकार: स्तंभ एकत्रीकरण मुझे एक माता पिता तालिका में क्वेरी की सुविधा देता है और मिल माता-पिता और बाल अभिलेख दोनों, जबकि ठोस विरासत मुझे क्लीनर स्कीमा प्राप्त करने देता है। प्लस, मिश्रण एक ही विरासत श्रृंखला में होगा। मैं स्कीमा फ़ाइल कैसे लिखूं? निम्नलिखित की तरह?एक ही स्कीमा

A: 

B: 
    inheritance: 
    extends: A 
    type: concrete 

C: 
    inheritance: 
    extends: B 
    type: column_aggregation 
    keyField:   type 
    keyValue:   1 

या यह शायद की तरह:

A: 

B: 
    inheritance: 
    extends: A 
    type: concrete 

C: 
    inheritance: 
    extends: B 
    type: concrete 
D: 
    inheritance: 
    extends: C 
    type: column_aggregation 
    keyField:   type 
    keyValue:   1 


E: 
    inheritance: 
    extends: C 
    type: column_aggregation 
    keyField:   type 
    keyValue:   2 

वहाँ किसी भी खतरों/चेतावनियां हैं?

+0

तरह लग रहा है किसी और को साझा करने का अनुभव नहीं है। मुझे यह जानने में दिलचस्पी होगी कि यह कैसे हुआ - मेरा प्रारंभिक विचार यह था कि यह अच्छी तरह से काम नहीं करेगा। – benlumley

+0

@benlumley ठीक है, हमने कोशिश की है, और हम परीक्षण कर रहे हैं, और यह इस पल के लिए बहुत अच्छी तरह से काम करता प्रतीत होता है। अगर मैं कुछ समस्याएं आती हूं तो मैं अपनी पोस्ट संपादित करूंगा और एक टिप्पणी जोड़ूंगा। हमने स्कीमा के दूसरे संस्करण के साथ प्रयास किया। – greg0ire

+0

@ greg0ire: कंक्रीट विरासत में शामिल होने पर सावधान संबंध :-) माके सुनिश्चित करें कि आप उन्हें आधार तालिका पर परिभाषित नहीं करते हैं। मैंने कभी भी मिश्रित और किसी भी हद तक मेल नहीं किया है, इसलिए आप किसी भी मुद्दे के बारे में सुनने के लिए इतनी बीमार हो गए हैं ... – prodigitalson

उत्तर

1

जब तक आप परिपत्र विरासत से बचने या हीरे के आकार विरासत आप ठीक होगा और इस

एक परिपत्र विरासत का उपयोग कर सकते हैं (इस प्रकार स्पष्ट रूप से दिखता है

क्लास ए बी का विस्तार कक्षा बी एक

या

कक्षा एक फैली सी

कक्षा बी फैली एक

कक्षा सी फैली हुई है एक

एक डायमंड आकार विरासत के बारे में थोड़ा और अधिक गोल है। यह तब होता है जब हालत के निम्नलिखित प्रकार होता है

कक्षा एक

कक्षा बी फैली एक

कक्षा सी फैली हुई है एक

कक्षा डी बी फैली हुई है, सी

+0

क्या आप कह रहे हैं कि सिद्धांत के साथ एकाधिक विरासत संभव है? चूंकि यह php के साथ नहीं है, मुझे संदेह है ... शब्दावली के लिए +1 – greg0ire

+0

मैं बस इतना कहने की कोशिश कर रहा हूं कि ये बाधाएं तब तक नहीं हैं जब तक कि ये बाधाएं न हों। हम सुरक्षित रूप से विरासत कर सकते हैं। – footy

संबंधित मुद्दे