وقتي كه تجريد و لفاف‏بندي نشتي پيدا مي‏كنند (Leaky Abstractions)

  • یوسف مهرداد بی‌بالان

تجرید(Abstraction) به عنوان یکی از مبانی اصلی در رهیافت شیءگرایی و به طور کلی مهندسی نرم‏افزار پذيرفته شده است. تجريد بهمعناي برجسته‏سازي آن چه كه براي خواننده مهم است و حذف آن چه كه براي خواننده مهم نيست، تعريف شده است. ‍‍‌[Mary Shaw].

تجرید و لفاف‏بندی(Encapsulation) همواره توسط طراحان تعديل مي‏شوند.بهعبارت ديگر،تعديل بين آن چه كه براي استفاده كننده مهم است و مخفي‏كردن نحوه انجام آن، هميشه يكي از مهم‏ترين تصميماتي است كه طراحان بايد اتخاذ نمايند. اما گاهي نحوه انجام تجريد به گونه‏اي مي‏شود كه تجريد اصطلاحاً نشتي پيدا مي‏كند. شايد بهتر است بگوييم كه لفاف‏بندي دچار نشتي مي‏شود. مثالهاي خيلي جالبي از اين موضوع را در نوشته‏هاي Joel Spolsky پيدا كردم كه توصيه مي‏كنم حتماً آنها را مطالعه نماييد.

نشتي تجريد،ما را به ياد ضرب‏المثل معروف “هر چه بگندد، نمكش مي‏زنند. واي به روزي كه بگندد نمك”مي‏اندازد.

برای خروج از جستجو کلید ESC را بفشارید