الگوی مگس وزن

دانشنامه عمومی

در برنامه نویسی کامپیوتری، الگوی طراحی مگس وزن یک الگوی طراحی مهندسی نرم افزار است. یک شئ مگس وزن نوعی شئ است که باعث صرفه جویی در مصرف حافظه می شود. یک شئ مگس وزن تا جایی که ممکن هست با اشیا همنوع خود به اشتراک اطلاعات می پردازد. وقتی که تعداد زیادی از یک نوع شی دارای اشتراک اطلاعاتی باشند، تکرار این قسمت مشترک در هر کدام از این نمونه اشیا ، باعث مصرف زیاد از حد حافظه خواهد شد، که غیرقابل قبول است. برای حل این مشکل معمولاً قسمت مشترک را در یک داده ساختار دیگر قرار داده که این اشیا سبک وزن همگی به آن دسترسی خواهند داشت. [ ۱]
یک نمونهٔ کلاسیک قابل ذکر نرم افزارهای واژه پرداز می باشند. در این نوع نرم افزار برای نمایش یک متن می توانیم دو کار بکنیم. راه اول این است که با ازای هر کاراکتر متنی در صفحه یک شی درست کنیم که اطلاعات آن کاراکتر نظیر گلیف و مکان آن کاراکتر در صفحه را ذخیره می کند. در صورتی که فایل متنی ما تعداد زیادی کاراکتر داشته باشد به همان مقدار هم بایستی شئ در حافظه داشته باشیم که این از نظر محدودیت حافظه عملی نمی باشد. راه دوم این است که به ازای هر حرف از حروف الفبای زبان، یک شی داشته باشیم که تعداد این حروف محدود است، در نتیجه تعداد این اشیا نیز محدود است. به این اشیا مگس وزن می گویند. هر کاراکتر در صفحه نمایش در نرم افزار واژه پرداز به یکی از این اشیا مگس وزن ارجاع می دهد. پس در این مثال دو فقره اطلاعات را در خود نگه میدارند:
• مکان در فایل متنی
• ارجاع به یک شی مگس وزن حرف الفبایی
بنابر کتاب Gang Of Four، الگوی مگس وزن برای اولین بار توسط پائل کادلر و مارک لینتون در سال ۱۹۹۰ برای یک ویرایشگر متنی به طور مفصل بررسی شد، با وجود این که شبیه همین تکنیک در سال های قبل در سیستم های دیگر نیز استفاده شده بود به طور مثال در فریم ورک Weinand .
برای اینکه در بین ریسمان های مختلف اجرایی برنامه ناسازگاری به وجود نیاید اشیا مگس وزن بایستی در طول اجرای برنامه تغییرناپذیر باشند.
برای درک بیشتر این موضوع به مثال #C زیر توجه کنید ( به تابع Equals و GetHashCode و == و =! دقت کنید )
عکس الگوی مگس وزن
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس