मैंने अभी एक प्रोजेक्ट पर काम करना शुरू किया है और हम डोमेन-संचालित डिज़ाइन का उपयोग कर रहे हैं (जैसा कि एरिक इवांस ने डोमेन-ड्रिवेन डिज़ाइन में परिभाषित किया है : सॉफ्टवेयर के दिल में जटिलता का सामना करना । मेरा मानना है कि हमारी परियोजना निश्चित रूप से इस डिज़ाइन के लिए एक उम्मीदवार है। पैटर्न के रूप में इवांस ने अपनी पुस्तक में इसका वर्णन किया है।
मैं लगातार रिफैक्टिंग के विचार से जूझ रहा हूं।
मैं जानता हूं कि किसी भी परियोजना में रिफैक्टरिंग एक आवश्यकता है और सॉफ्टवेयर परिवर्तन के रूप में अनिवार्य रूप से होगा। हालाँकि, मेरे अनुभव में, रिफैक्टरिंग तब होती है जब विकास टीम की ज़रूरतें बदलती हैं, न कि डोमेन परिवर्तनों की समझ के रूप में ("इवांस कॉल के रूप में अधिक से अधिक अंतर्दृष्टि के लिए रिफैक्टिंग")। मैं डोमेन मॉडल की समझ में सफलताओं से सबसे अधिक चिंतित हूं । मैं छोटे बदलाव करना समझता हूं, लेकिन क्या होगा अगर मॉडल में बड़ा बदलाव जरूरी है?
एक स्पष्ट डोमेन मॉडल प्राप्त करने के बाद आपको स्वयं (और अन्य) को समझाने का एक प्रभावी तरीका क्या होना चाहिए? आखिरकार, कोड संगठन या प्रदर्शन में सुधार करने के लिए रिफैक्टिंग, सर्वव्यापी भाषा कोड के संदर्भ में कैसे अभिव्यंजक से पूरी तरह से अलग हो सकता है। कभी-कभी ऐसा लगता है कि रिफ्लेक्टर के लिए पर्याप्त समय नहीं है।
सौभाग्य से, एससीआरयूएम ने इसे रिफैक्टिंग करने के लिए स्वयं उधार दिया। SCRUM की पुनरावृति प्रकृति एक छोटे से टुकड़े को बनाने और बदलने में आसान बनाती है और इसे। लेकिन समय के साथ वह टुकड़ा बड़ा हो जाएगा और क्या होगा अगर आपके पास एक सफलता है जो उस टुकड़े के बाद इतनी बड़ी है कि उसे बदलना बहुत मुश्किल होगा?
क्या किसी ने डोमेन-संचालित डिज़ाइन को नियोजित करने वाले प्रोजेक्ट पर काम किया है? यदि हां, तो इस पर कुछ अंतर्दृष्टि प्राप्त करना बहुत अच्छा होगा। मैं विशेष रूप से कुछ सफलता की कहानियां सुनना चाहता हूं, क्योंकि DDD को सही होना बहुत मुश्किल है।
धन्यवाद!