اصل وارونگی وابستگی

از ویکی‌پدیا، دانشنامهٔ آزاد

در طراحی شیءگرا، اصل وارونگی وابستگی (به انگلیسی: dependency inversion principle) شکل خاصی از جفتگری در برنامه‌نویسی ماژولی است. هنگام پیروی از این اصل، ماژول‌های سطح بالا مستقل از جزئیات پیاده‌سازی ماژول سطوح پایین ارائه می‌شوند. این اصل می‌گوید:[۱]

  1. ماژول‌های سطح بالاتر نباید به ماژول‌های سطح پایین‌تر وابسته باشند. ماژول‌ها در هر دو سطح باید به انتزاع (abstract) وابسته باشند.
  2. انتزاع نباید به جزئیات بستگی داشته باشد. جزئیات باید به انتزاع وابسته باشد.

با بیان اینکه آبجکت‌های سطوح بالا و پایین باید به انتزاع یکسان وابسته باشند، این اصل طراحی، طرز تفکر برخی از افراد دربارهٔ برنامه‌نویسی شیءگرا را وارونه می‌کند.[۲]

اصل وارونگی وابستگی‌ها به این معنا است که بجای اینکه ماژول‌های سطح پایین سیستم، رابط‌های قابل استفاده‌ای از خود را در اختیار سطوح بالاتر سیستم قرار دهند، ماژول‌های قرار گرفته در سطوحی بالاتر، اینترفیس‌هایی (interface) را تعریف می‌کنند که توسط ماژول‌های سطح پایین پیاده‌سازی خواهند شد.

DIPLayersPattern.png

جستارهای وابسته

منابع

  1. Martin, Robert C. (2003). Agile Software Development, Principles, Patterns, and Practices. Prentice Hall. pp. 127–131. ISBN 978-0-13-597444-5.
  2. Freeman, Eric; Freeman, Elisabeth; Kathy, Sierra; Bert, Bates (2004). Hendrickson, Mike; Loukides, Mike (eds.). Head First Design Patterns (paperback). 1. O'REILLY. ISBN 978-0-596-00712-6. Retrieved 2012-06-21.