मेरे पास Node
नामक एक अमूर्त वर्ग है। इसमें एक कन्स्ट्रक्टर होता है जो मेरे डेटाबेस से एक पंक्ति लेता है, और मूलभूत जानकारी को तुरंत चालू करता है। मेरी वेबसाइट पर सामग्री के सभी टुकड़े इस वर्ग का विस्तार - Person
, Event
, Project
, आदिइस PHP वर्ग संरचना में उपयोग करने के लिए उपयुक्त डिज़ाइन पैटर्न क्या होगा, बिना एकाधिक विरासत दिया?
इन विस्तार वर्गों में से 3 विशेष कर रहे हैं - डेटाबेस से मानों खींच के अलावा, जब वे निर्माण कर रहे हैं, वे भी क्वेरी करने के लिए की जरूरत है एक वेब सेवा; यदि वेब-सेवा उन मानों को प्रदान करती है जो डीबी में दिए गए लोगों से अलग हैं, तो उन्हें डीबी में सहेजने की आवश्यकता है।
एकाधिक विरासत सक्षम भाषा में, यह काफी सरल होगा; इन कक्षाओं में से कोई भी Node
, और APIData
, या ऐसा कुछ दोनों का विस्तार करेगा। एमआई के बिना, मुझे यकीन नहीं है कि इसे कैसे संभालें। एक इंटरफ़ेस का उपयोग करना सहायक नहीं होगा, क्योंकि यह कोई ठोस कार्यान्वयन प्रदान नहीं करता है।
सजावटी पैटर्न को कभी-कभी एमआई की कुछ विशेषताओं के लिए एक विकल्प के रूप में अनुशंसित किया जाता है, लेकिन मेरे पास यह निर्धारित करने के लिए पर्याप्त अनुभव नहीं है कि यह उचित विकल्प है या नहीं। कोई सुझाव?
आईएमओ: PHP एकाधिक विरासत का समर्थन नहीं कर रहा है एक फीचर है। अनुलेख 'रणनीति' डिजाइन पैटर्न देखें http://www.dofactory.com/Patterns/PatternStrategy.aspx –
बहुत कम भाषाएं एकाधिक विरासत का समर्थन करती हैं। इंटरफ़ेस और प्रतिनिधिमंडल के आधार पर सामान्य डिज़ाइन पैटर्न PHP में ठीक काम करते हैं। –