मैं एक लाइव अधिसूचना प्रणाली (जैसे एफबी, एक्सिंग, ट्विटर ..) को लागू करने की कोशिश कर रहा हूं। इसलिए, मैंने इकाइयों के निर्माण से पहले एक यूएमएल कक्षा आरेख बनाया।लाइव नोटिफिकेशन यूएमएल क्लास आरेख
संपादित करें: शोकेस पीछा कर रहा है मैं इस दृष्टिकोण बारे में सोचा और ऐसा लगता है जैसे कि यह सही नहीं है। आइए निम्नलिखित दृश्यों की जांच करें: उपयोगकर्ता यू इवेंट ई की छवि में जोड़ता है मैं एक टिप्पणी सी। इसे सही ढंग से कैसे स्टोर करें, मेरा मतलब है कि इवेंट नॉटिफिकेशन में केवल इवेंट ई पर एक संदर्भ है, लेकिन I और C. पर नहीं। इसलिए मुझे एक बनाना होगा "EventImageNotification" वर्ग भी साथ ही यह एक गड़बड़ होगी। क्या यह सिर्फ एक "अधिसूचना" वर्ग के लिए एक अच्छा समाधान होगा और इसमें "मेटाडेटा" फ़ील्ड जोड़ देगा, जो सभी शामिल क्षेत्रों के संदर्भ संग्रहीत करता है?
(मैं बाद में संबंधों को लागू करने के लिए एक या-मैपर उपयोग कर रहा हूँ)।
[1] एक उपयोगकर्ता ईवेंट बना सकता है, उदा। "सिल्वेस्टर पार्टी 2015"। (अनेको के लिये एक)। इस ईवेंट में एक डैशबोर्ड है, जहां उपयोगकर्ता उस ईवेंट पर कुछ पोस्ट करते समय अपडेट प्राप्त करने के लिए सब्सक्राइब कर सकते हैं (ManyToMany)।
[2] जब कोई उपयोगकर्ता ईवेंट के डैशबोर्ड पर कुछ पोस्ट करता है, तो सब्सक्राइब किए गए उपयोगकर्ताओं को अधिसूचना प्राप्त होनी चाहिए। इसलिए, मैंने EventNotification वर्ग बनाया है। उपयोगकर्ता और EventNotification के बीच संबंध कई ToMany है।
[3] इसे साफ रखने के लिए, मैंने एक सारणीकरण वर्ग बनाया जो अधिसूचना प्रकार से संबंधित है। एक अधिसूचना प्रकार कुछ नाम = "EventPost" और टेम्पलेट = "उपयोगकर्ता उपयोगकर्ता ने ईवेंट __event पर कुछ नया पोस्ट किया है"।
[4] अमूर्त वर्ग अधिसूचना कनेक्टर ईवेंट नॉटिफिकेशन और उपयोगकर्ता (UserEventNotification) के बीच मैपिंग क्लास में फ़ील्ड देता है। मैंने उन्हें भविष्य में आसानी से विस्तारित करने के लिए बनाया, उदाहरण के लिए कोई उपयोगकर्ता ऐसी पुस्तकें बना सकता है जो घटनाओं को ट्रिगर भी कर सके। फिर मुझे इस नई इकाई के लिए अधिसूचनाओं को संग्रहीत करने के लिए एक "बुक नॉटिफिकेशन" और एक "UserBookNotification" क्लास बनाना होगा।
क्या यह दृष्टिकोण एक अच्छा या पूरी तरह से गड़बड़ है? कृपया मुझे इस आरेख के बारे में अपने विचार बताएं:
(एसोसिएशन बनाने के लिए तीर सामान्य रेखाएं होनी चाहिए, मैं जिस उपकरण का उपयोग करता हूं वह बस ऐसा नहीं कर सका)।
अद्यतन: अब मैं अधिसूचना टाइप के साथ संयोजन में मेटाडेटा फ़ील्ड का उपयोग कर रहा हूं और यह सभी प्रकार की नेस्टेड अधिसूचनाओं के लिए काम कर रहा है। – user3746259