درآمدی بر قانون Dependency Inversion


این قانون حاکی از آن است که ماژول‌های سطح بالا هرگز نباید به ماژول‌های سطح پایین وابسته باشند. Dependency Inversion Principle یا به اختصار DIP دولوپر را موظف می‌سازد تا کلیهٔ ماژول‌ها (کلاس‌ها) را بر مبنای Abstraction (انتزاع) توسعه‌ دهند که در ادامه سعی می‌کنیم با ذکر مثالی از دنیای واقعی، کاربرد این اصل را توضیح دهیم (لازم به یادآوری است که مفهوم Dependency Inversion نباید با Dependency Injection اشتباه گرفته شود چرا که این دو کاملاً با یکدیگر فرق دارند.)

این بخش از محتوا مخصوص کاربرانی است که ثبت‌نام کرده‌اند.
جهت مشاهدهٔ این بخش از محتوا لاگین نمایید.

جمع‌بندی
DIP دولوپر را موظف می‌سازد تا ماژول‌های سطح بالا را درگیر جزئیات نکند و در مقابل، ماژول‌ها و کلاس‌های سطح پایین باید وارد جزئیات شوند اما در عین حال هر دو مورد باید مبتنی بر اصل انتزاع باشند. در پاسخ به این پرسش که «فایدهٔ DIP چیست؟» می‌توان گفت تبعیت از این قانون در توسعهٔ نرم‌افزار به صورت شیئ‌گرا این امکان را در اختیار ما قرار می‌دهد تا بخش‌های مختلف نرم‌افزار‌مان اصطلاحاً Decoupled (مستقل) باشند و همین مسئله به ما کمک می‌کند تا بتوانیم از ماژول‌های مختلف بدون دغدغهٔ وابستگی‌ آن‌ها به سایر ماژول‌ها در جای‌جای نرم‌افزار خود استفاده نماییم.

دانلود فایل‌های تمرین

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان