2015-10-13 6 views
16

मैं एक लाइव अधिसूचना प्रणाली (जैसे एफबी, एक्सिंग, ट्विटर ..) को लागू करने की कोशिश कर रहा हूं। इसलिए, मैंने इकाइयों के निर्माण से पहले एक यूएमएल कक्षा आरेख बनाया।लाइव नोटिफिकेशन यूएमएल क्लास आरेख


संपादित करें: शोकेस पीछा कर रहा है मैं इस दृष्टिकोण बारे में सोचा और ऐसा लगता है जैसे कि यह सही नहीं है। आइए निम्नलिखित दृश्यों की जांच करें: उपयोगकर्ता यू इवेंट ई की छवि में जोड़ता है मैं एक टिप्पणी सी। इसे सही ढंग से कैसे स्टोर करें, मेरा मतलब है कि इवेंट नॉटिफिकेशन में केवल इवेंट ई पर एक संदर्भ है, लेकिन I और C. पर नहीं। इसलिए मुझे एक बनाना होगा "EventImageNotification" वर्ग भी साथ ही यह एक गड़बड़ होगी। क्या यह सिर्फ एक "अधिसूचना" वर्ग के लिए एक अच्छा समाधान होगा और इसमें "मेटाडेटा" फ़ील्ड जोड़ देगा, जो सभी शामिल क्षेत्रों के संदर्भ संग्रहीत करता है?


(मैं बाद में संबंधों को लागू करने के लिए एक या-मैपर उपयोग कर रहा हूँ)।

[1] एक उपयोगकर्ता ईवेंट बना सकता है, उदा। "सिल्वेस्टर पार्टी 2015"। (अनेको के लिये एक)। इस ईवेंट में एक डैशबोर्ड है, जहां उपयोगकर्ता उस ईवेंट पर कुछ पोस्ट करते समय अपडेट प्राप्त करने के लिए सब्सक्राइब कर सकते हैं (ManyToMany)।

[2] जब कोई उपयोगकर्ता ईवेंट के डैशबोर्ड पर कुछ पोस्ट करता है, तो सब्सक्राइब किए गए उपयोगकर्ताओं को अधिसूचना प्राप्त होनी चाहिए। इसलिए, मैंने EventNotification वर्ग बनाया है। उपयोगकर्ता और EventNotification के बीच संबंध कई ToMany है।

[3] इसे साफ रखने के लिए, मैंने एक सारणीकरण वर्ग बनाया जो अधिसूचना प्रकार से संबंधित है। एक अधिसूचना प्रकार कुछ नाम = "EventPost" और टेम्पलेट = "उपयोगकर्ता उपयोगकर्ता ने ईवेंट __event पर कुछ नया पोस्ट किया है"।

[4] अमूर्त वर्ग अधिसूचना कनेक्टर ईवेंट नॉटिफिकेशन और उपयोगकर्ता (UserEventNotification) के बीच मैपिंग क्लास में फ़ील्ड देता है। मैंने उन्हें भविष्य में आसानी से विस्तारित करने के लिए बनाया, उदाहरण के लिए कोई उपयोगकर्ता ऐसी पुस्तकें बना सकता है जो घटनाओं को ट्रिगर भी कर सके। फिर मुझे इस नई इकाई के लिए अधिसूचनाओं को संग्रहीत करने के लिए एक "बुक नॉटिफिकेशन" और एक "UserBookNotification" क्लास बनाना होगा।

क्या यह दृष्टिकोण एक अच्छा या पूरी तरह से गड़बड़ है? कृपया मुझे इस आरेख के बारे में अपने विचार बताएं:

(एसोसिएशन बनाने के लिए तीर सामान्य रेखाएं होनी चाहिए, मैं जिस उपकरण का उपयोग करता हूं वह बस ऐसा नहीं कर सका)।

Notification UML

+0

अद्यतन: अब मैं अधिसूचना टाइप के साथ संयोजन में मेटाडेटा फ़ील्ड का उपयोग कर रहा हूं और यह सभी प्रकार की नेस्टेड अधिसूचनाओं के लिए काम कर रहा है। – user3746259

उत्तर

0

बस कुछ टिप्पणियों:

  • दो सार वर्गों के बाद आप उन्हें केवल एक संदर्भ में उपयोग ज़रूरत से ज़्यादा होने लगते हैं।
  • User से कनेक्शन अमूर्त वर्ग (जिसे मैं वैसे भी छोड़ने की अनुशंसा करता हूं) के बजाय UserEndNotification पर जाना चाहिए।
  • मैं नहीं बल्कि एक owns संबंध मैं User और Event के बीच सम्बन्ध वर्ग का उपयोग करें और एक isOwner और isSubscriber संपत्ति जोड़ना होगा का उपयोग करने से NotificationType एक <<enumeration>>
  • बनाने चाहते हैं।
+0

हाय थॉमस, आपके विचारों के लिए धन्यवाद। मैं आपके अंक पर टिप्पणी करूंगा। [1] मैंने अमूर्त वर्ग बनाए क्योंकि भविष्य में, अधिक इकाइयां आएंगी जो सार तत्वों से जुड़ जाएंगी। [2] यह और अधिक तार्किक लगता है! [3] यह भी पढ़ें, लेकिन फिर व्यवस्थापक क्षेत्र के माध्यम से नाम और पुस्तिकाओं को प्रशासित करना कठिन होगा? [4] यह बहुत अच्छा लगता है, मैंने इसके बारे में भी सोचा लेकिन मुझे नहीं पता था कि अनुशंसित/अधिक प्रदर्शन करने वाला तरीका क्या होगा। आम तौर पर, आप दो वर्गों के बीच कई अलग-अलग संबंध रख सकते हैं, लेकिन मुझे लगता है कि दोनों दृष्टिकोणों को काम करना चाहिए। – user3746259

+0

3) निर्भर करता है। प्रो और विपक्ष हैं। सिर्फ एक विचार। 4) प्रदर्शन के बारे में नहीं बताता है। यह कार्यान्वयन के लिए छोड़ दिया गया है। आपका एम-एन संबंध पहले से ही एक एसोसिएशन क्लास है (हालांकि एक साधारण एक) आप संभवतया एक टेबल के माध्यम से दो विदेशी कुंजी के साथ मैप करेंगे। –

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