گروه نرم افزاری هیلتن

موضوع کلی: الگو های طراحی

الگوی طراحی pool



کارایی در توسعه نرم افزار یک امر کلیدی است و ساخت اشیا یک گام پرهزینه به حساب می آید. الگو های متعددی برای برطرف کردن این مشکل وجود دارد. برای مثال الگوی Prototype با کپی کردن اشیا از ساخت مجدد آن ها جلوگیری می کند که به نحوی به کارایی کمک می کند. اما الگوی Pool با استفاده از یک مکانیزم کمک می کند که ما مجددا از اشیای که هزینه ساخت آن ها زیاد است استفاده کنیم. الگوی Pool به صورت پیش فرض در بیشتر زبان های مانند .Net پیاده سازی شده است. Pool به معنی استخر می باشد یعنی یک استخری از اشیا داریم و هنگامی که لازم باشد از این اشیا استفاده می کنیم و هنگامی که کار ما با آن شی تمام شد آن را داخل استخر بر می گردانیم یا به عبارتی دیگر آزاد می کنیم. معمولا یک صفت منطقی برای تشخیص این که یک شی درحال استفاده است یا آزاد می باشد وجود دارد. وقتی کلاینت احتیاج به یک شی داشته باشد از Pool دخواست آن شی را می کند اگر در Pool آن شی به صورت آزاد وجود داشته باشد آن شی را به ما بر می گرداند در غیر این صورت یک شی جدید ایجاد نموده و آن را به ما برمی گرداند. وقتی که یک شی به استخر بر می گردد تمام رفرنس ها به آن شی از بین می رود به عبارت دیگی آن شی آزاد می شود. البته این را در نظر باید گرفت که تعداد اشیای داخل استخر نباید خیلی زیاد باشند چون باعث کاهش کارایی می شود.معمولا برای جلوگیری از این کار یک متغییر در نظرمی گیرند به عنوان حداکثر اندازه استخر که اشیای داخل استخر نباید از آن تجاوزکنند. مکانیزم های مختلفی برای مدیریت اشیایی داخل استخر وجود دارد برای هنکامی که کلاینت درخواست یک شی را به Pool می دهد اگر شی آزاد وجود نداشت می توان شی ساخته شود یا استثنایی آزاد شود تمام این اعمال و مکانیزم ها بستگی به برنامه شما و شرایط استفاده دارد. معمولا کلاس Pool را Static ایجاد می کنند تا نیازی به ساخت دوباره آن نباشد. در زیرکلاس دیاگرام الگو Pool آماده است.

- نمودار کلاس دیاگرام الگوی طراحی Pool






گروه برنامه نویسی هیلتن

گروه برنامه نویسی هیلتن