Demeter के कानून में कहा गया है निम्नलिखित:
- प्रत्येक इकाई को अन्य इकाइयों के बारे में केवल सीमित ज्ञान होना चाहिए: केवल इकाइयाँ जो वर्तमान इकाई से संबंधित "बारीकी से" हैं।
- प्रत्येक इकाई को केवल अपने दोस्तों से बात करनी चाहिए; अजनबियों से बात न करें।
- केवल अपने तात्कालिक दोस्तों से बात करें।
C # 6.0 ने एक नया ऑपरेटर शुरू किया जिसे null-सशर्त ऑपरेटर कहा जाता है । IMHO, यह कोडिंग को आसान बनाता है और पठनीयता में सुधार करता है। लेकिन इससे अधिक युग्मित कोड लिखना भी आसान हो जाता है, क्योंकि क्लास फ़ील्ड के माध्यम से नेविगेट करना आसान होता है, पहले से ही अशक्तता (कुछ var x = A?.B?.C?.D?.E?.F?
) के लिए जाँच ।
क्या यह बताना सही है कि यह नया ऑपरेटर कानून के कानून के खिलाफ जाता है?
X.Y.Z.W.U
"कानून" का उल्लंघन है। लेकिन, मेरे अनुभव में कोड के साथ काम करना, 90% समय यह सिर्फ सादे बदसूरत युग्मित कोड है।
.?
से अधिक नहीं लोद का उल्लंघन करती है +
या -
नहीं करता है।
A?.B?.C?.D?.E?.F?
इसका उल्लंघन होगा - LoD इस बारे में नहीं है कि कितने डॉट्स हैं और यदि कॉलिंग पद्धति में संरचना के बारे में ऐसी जानकारी है जो इसके बिंदुओं का उल्लंघन नहीं करती है, तो ऐसी कॉल पूरी तरह से स्वीकार्य होगी। ऐसी है कि कोड सकता लोद का उल्लंघन कहना है कि यह के सभी उपयोगों पर्याप्त नहीं है कर का उल्लंघन लोद।