मेरे आवेदन के विभिन्न भागों के बीच बातचीत के डिजाइन पर सलाह की आवश्यकता है


10

मैं NetBeans प्लेटफ़ॉर्म 7. पर आधारित एक रिच डेस्कटॉप एप्लिकेशन के "मुख्य" क्लैस (डिज़ाइन) को डिज़ाइन करने का प्रयास कर रहा हूं। यह एप्लिकेशन HTTP सेवाओं का उपभोग करेगा और टीसीपी पर "पुश सिस्टम" के माध्यम से संदेश प्राप्त करेगा।

  • हम 3 डेवलपर हैं और हम समानांतर में मॉड्यूल विकसित करना चाहते हैं
  • आवेदन स्तरित किया जाएगा (डेटा, व्यवसाय, प्रस्तुति)
  • हम जिम्मेदारी मॉडल को अलग करने के लिए प्रस्तुति मॉडल का उपयोग करेंगे
  • कुछ दानेदार डेटा (उदाहरण के लिए बीन व्यक्ति) को कई स्क्रीन द्वारा साझा किया जाएगा (और संभवतः एक ही समय में कई स्क्रीन पर प्रदर्शित किया जाएगा)
  • ...

हम अलग-अलग स्क्रीन विकसित करने में सक्षम हैं, लेकिन हमें पूरी तरह से पता नहीं है कि पूरे एप्लिकेशन को कैसे व्यवस्थित किया जाए और प्रत्येक मॉड्यूल सामग्री को कैसे परिभाषित किया जाए।

  1. तो, क्या आपके पास पूरे एप्लिकेशन के अंदर इंटरैक्शन को समन्वित / प्रबंधित करने के लिए कोई सलाह (एक पैटर्न / सर्वोत्तम अभ्यास / पुस्तक / नमूना ऐप) है?
  2. मॉड्यूल सामग्री को परिभाषित करने के बारे में कोई सलाह?

धन्यवाद!


उदाहरण के लिए छोटा उदाहरण जो मैं बनाना चाहता हूं: एक फू यूजर मैनेजमेंट एप्लीकेशन

  1. एप्लिकेशन लॉन्च करें
  2. बाईं ओर [खोजकर्ता] हमारे पास प्लेटफार्मों की एक सूची है (सूची एक स्थानीय फ़ाइल में संग्रहीत है)
  3. शीर्ष पर हमारे पास एक नया प्लेटफ़ॉर्म जोड़ने का बटन है (राइट क्लिक के साथ भी उपलब्ध)
  4. प्लेटफ़ॉर्म पर डबल-क्लिक करके, ऐप HTTP सेवा को उपयोगकर्ताओं की पूरी सूची को पुनः प्राप्त करने के लिए कहता है। यह सूची [संपादक] (एक JTable में) प्रदर्शित की गई है
  5. एक पृष्ठभूमि प्रक्रिया शुरू होती है: एक टीसीपी कनेक्शन के माध्यम से हमें संदेश मिलते हैं
  6. टूलबार में एक बटन के लिए नए उपयोगकर्ता को जोड़ना संभव है

यदि एप्लिकेशन किसी अन्य पीसी पर लॉन्च किया गया है, और यदि उपयोगकर्ता एक ही मंच से जुड़ा हुआ है, तो इसकी उपयोगकर्ता सूची को गतिशील रूप से अपडेट किया जाएगा (जोड़ें / निकालें / स्थिति: {ऑफ़लाइन / ऑनलाइन}) (संदेशों के लिए धन्यवाद)

भविष्य में यह एक चैट मॉड्यूल प्रदान किया जाएगा।

मेरा प्रश्न (दूसरे शब्दों में): प्रत्येक मॉड्यूल की सामग्री पर निर्णय लेने के लिए कोई सलाह / सर्वोत्तम अभ्यास? यदि PM (प्रेजेंटेशन मॉडल) व्यू / बिजनेस और डेटा को अलग करने और स्क्रीन बनाने का एक अच्छा तरीका है, तो PM के आधार पर कई स्क्रीन को लिंक करने का सबसे अच्छा तरीका क्या है? कल्पना करें कि हम चैट मॉड्यूल को विकसित करते हैं, उपयोगकर्ता सूची पर राइट क्लिक के साथ उपलब्ध संदर्भ मेनू "एंट्री विथ ..." कैसे जोड़ें?


3
यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं। अपने प्रश्न को स्पष्ट करने के लिए एक छोटा सा उदाहरण कैसे प्रदान करें?
रॉबर्ट हार्वे

गीर्टजन विलेनगा की शानदार पोस्ट। : टॉम व्हीलर बयान के बयान (NetBeans ड्रीम टीम सदस्य) शामिल हैं java.dzone.com/news/how-to-split-into-modules
Destroyica

जवाबों:


5

अपनी आवश्यकता को देखते हुए, कोर प्रसंस्करण सामग्री के साथ शुरू करने के लिए कमांड पैटर्न बनाया जाना चाहिए और बाद में आप अनुरोध-प्रोसेसर के लिए टेम्पलेट पैटर्न का उपयोग कर सकते हैं । और इतने पर और पर। मास्टर पैटर्न नामक कुछ भी नहीं है। अगर वहाँ थे, वे अब हमें जरूरत नहीं होगी।

विचार एक डिजाइन है जो आपको आवश्यकताओं के साथ विकसित करने की अनुमति देगा।

मैं एक बेस मॉड्यूल इंटरफ़ेस बनाकर शुरू करूँगा और सभी को इंटरफ़ेस और उसके आसपास कुछ उपयोगिताओं को दे दूँगा। सभी को बेस-मॉड्यूल के आधार पर अपने स्वयं के मॉड्यूल को लागू करने दें।


3

मुझे लगता है कि आप सेवाओं द्वारा समर्थित एक सुंदर क्लासिक एमवीसी पैटर्न देख रहे हैं (रेस्टफुल मुझे लगता है)। कुंजी को UI से सेवा को अलग करना होगा। ऐसा इसलिए नहीं है क्योंकि आप एक वैकल्पिक यूआई शुरू कर रहे हैं, बल्कि इसलिए कि इससे आपको स्पष्टता मिलती है कि आपका सेवा इंटरफ़ेस क्या होना चाहिए।

इसलिए जब आप getPeopleसेवा के बारे में सोच रहे हैं , तो सुनिश्चित करें कि आप इस बारे में सोचें कि द्वितीयक (गैर-स्विंग) यूआई सेवा के साथ कैसे बातचीत करेगा। यदि आप ध्यान में रखते हैं कि आप एक काफी लचीले / विघटित समाधान के साथ आएंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.