ruby - How to drop dependency on class method -


मेरे पास 3 निम्नलिखित वर्ग हैं:

बेस

  मॉड्यूल TitleSource वर्ग बेस तुलनीय attr_accessor में शामिल हैं: कंपनी attr_accessor: प्राथमिकता attr_accessor: डीईएफ़ प्रारंभ target_title (args = {}) self.company = args [: कंपनी] self.priority = args [: प्राथमिकता] self.target_title = args [: target_title] अंत डीईएफ़ create_contact_source उठाने NotImplementedError अंत डीईएफ़ & lt; = & gt; (अन्य) fetch_value & lt; = & gt; other.fetch_value अंत संरक्षित डीईएफ़ fetch_value मूल्य अंत निजी डीईएफ़ मूल्य बढ़ाने NotImplementedError अंत अंत अंत  

UnmatchedTitle

  मॉड्यूल TitleSource वर्ग UnmatchedTitle & LT; बेस डीईएफ़ create_contact_source :: ContractorUi :: ContactSource.generate_from_unmatched_title (स्वयं) निजी डीईएफ़ मूल्य 100 अंत अंत सिरे से दूसरे सिरे  

IncompleteContact

 <कोड > मॉड्यूल शीर्षकसौरस वर्ग अपूर्ण संपर्क & lt; बेस attr_accessor: target_title_name attr_accessor: contact def initialize (args = {}) सुपर self.target_title_name = args [: target_title_name] self.contact = args [: contact] end def create_contact_source :: कांट्रेक्टर यूआई :: ContactSource.generate_from_incomplete_contact (स्वयं) अंत निजी डीईएफ़ वैल्यू 10 एंड एंड एंड  

मैं वर्तमान में पढ़ रहा हूं और इस डिज़ाइन के साथ आया हूं, जो अब तक मुझे अच्छी तरह से सेवा प्रदान करता है।
हालांकि, ध्यानपरक कारणों के लिए, मैं जानना चाहता हूं अगर यह इसके लायक है कि कैसे मैं :: ContractorUi :: ContactSource पर निर्भरता को हटा सकते हैं और यह किया जाना चाहिए।
मैं इसे क्योंकि निर्माता के साथ में पास करने का विचार पसंद नहीं है TitleSource मॉड्यूल का पूरा उद्देश्य वास्तव में एक ContactSource जनरेट करता है, लेकिन अधिक अनुभवी लोगों से सुनना चाहता है पुस्तक (और कुछ ऑन-द-क्षेत्र अनुभव) पढ़ना मुझे समझने की कितना decoupling है महत्वपूर्ण

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


Comments