*فرمان۴٫ حداکثر تعداد متدهای عمومی رونویسی شده حاوی فراخوانی به پارامتر سازنده. مقدار این معیار کمتر از مقدار آن برای الگوی تطبیق دهنده می­باشد چون الگوی فرمان اصولا فقط یک متد مشترک برای اجرای فرمان­ها دارد.

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

*فرمان۵ . تعداد زیرکلاس­های مستقیم و غیر مستقیم حاوی فراخوانی به پارامتر سازنده در متد رونویسی شده­ عمومی. در الگوی فرمان همه یا اکثر کلاسها­ی گسترش یافته از کلاس فرمان منتزع، “عملگر اجراگر د ستوراتشان”[۴۸]را به عنوان پارامتر از سازنده می­گیرند.
۴-۲-۶٫ معیارهای تشخیص ملاقات کننده
شکل ۴-۱۰٫ الگوی طراحی ملاقات کننده [۱]
هرگاه بخواهیم یک یا چند عملگر مشترک را (مثلا draw()) به مجموعه ­ای از عناصر (مثل دایره، مثلث، مستطیل، و …) اضافه کنیم، مجبور هستیم این عملگر را در تک تک عناصر، به شیوه ­های مختلف پیاده­سازی کنیم. اگر نیاز به تغییر بخشی از عملگر داشته باشیم، به تعداد عناصر، نیازمند تغییر در کلاس عناصر هستیم. الگوی ملاقات­کننده امکانی را فراهم می­ کند که یک یا چند عملگر جدید را به مجموعه ­ای از عناصر اضافه کنیم، بدون اینکه نیاز به دستکاری کل کلاس عناصر داشته باشیم [۱].
الگوی ملاقات­کننده این امکان را با جداسازی بخش پیاده­سازی عملگرها از عناصر، فراهم می­ کند. بطوریکه تمام پیاده­سازی­های یک عملگر برای عناصر مختلف در یک کلاس قرار می­گیرند. عناصر هستند که خودشان را به پیاده­سازی­ها می­فرستند و عملگرها، عنصر خاص خودشان را شناسایی و عمل مورد نظر را انجام می­ دهند. شباهت بین الگوی استراتژی و ملاقات­کننده در این نکته قرار دارد که به بخش پیاده­سازی ملاقات­کننده به ازای اضافه­ شدن هر عملگر روی کلیه­ عناصر، یک کلاس اضافه می­ شود. بنابراین یک عنصر، برای شناسایی عملگرهای خودش باید یک شناسه مشترک بین کل عملگر­ها داشته باشد. ملاقات­کننده، این شناسه را با قرار دادن یک رابط مشترک برای هر عنصر بین عملگرهای مختلف مورد نیازش فراهم می­ کند.
معیارهای شناسایی الگوی ملاقات­کننده روی نمونه­های مثبت کاذب استراتژی در ادامه آمده­اند.
*[۴۹]ملاقات کننده ۱٫ تعداد متدهایی که دراستراتژی منترع حداقل یک پارامتر از یک جنس می­گیرند. اصولا تعداد متدهایی که در الگوی ملاقات­کننده برای عمل روی ساختار عناصر تعریف می­شوند، نسبت به تعداد عناصری که روی آنها عمل می­ کنند برابر یا بزرگترند. در ملاقات کننده برای ملاقات کردن هر عنصر یک متد تعریف می­ شود.
*ملاقات کننده ۲٫ تعداد کلاس­های استراتژی که به سمت زمینه فرستاده می­شوند. در الگوی ملاقات­کننده، همه عملگرها خودشان را به عناصر مشخص به عنوان پارامتر می­فرستند و عناصر نیز آنها را می­پذیرند.
*ملاقات کننده ۳٫ تعداد کلاسهای ساختار زمینه که خودشان را به سمت استراتژی می­فرستند. درالگوی ملاقات­کننده همه­ عناصر خودشان را به سمت عملگرهای مشخص به صورت پارامتر می­فرستند و عملگرها آنها را ملاقات می­ کنند.
*ملاقات کننده ۴٫ تعداد فرزندان زمینه (پیاده­سازی­ها) که حاوی فیلد عمومی از استراتژی (عناصر) هستند. اصولا هر عملگر از الگوی ملاقات­کننده یک عنصر همکار را به صورت پارامتر می­گیرد و برعکس. بنابراین نیازی به تعریف فیلدی از عناصر که در کل عملگر قابل استفاده باشد ندارند. اصولا مقدار این معیار برای این الگو صفر است.
۴-۲-۷٫ معیارهای تشخیص میانجی
شکل۴-۱۱٫ الگوی طراحی میانجی [۱]
هر­گاه مجموعه ­ای از اشیا داریم که به طور دائم با یکدیگر در ارتباط هستند‌ .در واقع بجای اینکه چند شی جهت انجام ارتباطاتشان با هم پیوند مستقیم برقرار کنند، الگوی میانجی اتخاذی می­بیند که همه­ اشیا تنها به یک شی میانی پیوند داشته باشند و آن شی عملیات ارتباطی همه­ آنها را حل و فصل ­کند. به این طریق اشیا مرتبط، می­توانند مستقل از هم کار کنند و همزمان ارتباط داشته باشند، گاهی میانجی ارتباطات بین وضعیت­های الگوی وضعیت را فراهم می­ کند. در واقع بدلیل حضور ساختار وضعیت، این الگو بین مثبت کاذب­های الگوی استراتژی قرار گرفته شده است. معیارهای تشخیص الگوی میانجی از الگوهای بحث شده در بخش­های قبل، در ادامه شرح داده شده ­اند.
میانجی ۱. تعداد زیرکلاسهای ساختار استراتژی که پارامتر متد سازنده­شان از یک نوع می­باشند (از نوع زمینه). در الگوی میانجی، همه عناصر (عناصری که به واسطه میانجی رابطه برقرار می­ کنند) میانجی را به شکل پارامتر از سازنده می­گیرند.
میانجی ۲. تعداد زیرکلاس­های استراتژی که در کلاس هم نوع با پارامتر سازنده­شان (زمینه)، حاوی فیلد وضعیت هستند. همه عناصر همکار که میانجی آنها را به هم مرتبط می­ کند در میانجی یک فیلد وضعیت ازساختارشان دارد.
میانجی ۳. حداقل تعداد فراخوانی از سلسله مراتب استراتژی در ساختار زمینه. میانجی برای برقراری ارتباط میان عناصر نیاز به فراخوانی عملگر­های هر عنصر به در خواست عنصر مرتبط دارد.
۴-۲-۸٫ معیارهای تشخیص آذیین کننده
شکل۴-۱۲٫ الگوی آذیین کننده [۱]
گسترش عملکرد یک کلاس می ­تواند به صورت ایستا و در زمان کامپایل با ارث بری انجام بگیرد. اما گاهی اوقات نیازمند آن هستیم که مسئولیت­هایی را به اشیا مجزا و نه به کل کلاس در زمان اجرا اضافه کنیم. آذیین کننده این امکان را فراهم می­ کند تا بتوانیم به راحتی به شی­ای در زمان اجرا مسئولیتی[۵۰] را اضافه یا حذف کنیم بدون اینکه شی به مسئولیت متصل یا وابسته باشد [۱]. معیارهای این بخش و بخش بعد برای تشخیص این الگو و الگوی ترکیب که در ادامه آورده شده است می­باشند. چون این دو الگو با الگو­های دیگر نیز می­توانند ترکیب شوند این معیارها برای تشخیص این الگو ها از داخل الگو­های دیگر نیز ارائه شده است.
آذیین کننده ۱. آیا والد مشترکی بین ساختار استراتژی و زمینه تعریف شده است ؟ اگر زمینه و استراتژی هر دو از یک والد گسترش یافته باشند احتمال بالایی برای وجود الگوی ترکیب، آذیین کننده یا الگوی جا نشین[۵۱] وجود دارد.
آذیین کننده ۲. تعداد فرزندان ساختار زمینه که متغیر نمونه ­ای از والد خود دارند. ممکن است هر دو نقش­های آذیین کننده و موئلفه که تشکیل دهنده الگوی آذیین کننده هستند در ساختار زمینه ترکیب شوند.
آذیین کننده ۳. تعداد فرزندان ساختار استراتژی که متغیر نمونه ­ای از نوع والد خود دارند. ممکن است هر دو نقش­های آذیین کننده و موئلفه که تشکیل دهنده الگوی آذیین کننده هستند در ساختار استراتژی ترکیب شوند.
آذیین کننده ۴. تعداد فرزندان استراتژی که حاوی پارامتر سازنده­ای هستند که از جنس والد خودشان است. نقش آذیین کننده نقش مولفه را به عنوان پارامتر از سازنده می­گیرد. چون در هر زمان فقط یک شی را مزین می­ کند و در زمان ایجاد شدن با شی­ای که باید مزین شود با هم ایجاد می­شوند.
آذیین کننده ۵. تعداد فرزندان زمینه که حاوی پارامتری از سازنده هستند که از جنس والد خودشان است. نقش آذیین کننده نقش موئلفه را به عنوان پارامتر از سازنده می­گیرد.
آذیین کننده ۶. حداکثر تعداد متدها بین کلاس­های ساختار زمینه که عملی را به رابط­های هم امضا باخودشان واگذار می­ کنند ( بدون وجود هر نوع حلقه برای این واگذاری). آذیین کننده برای اجرای عملکرد مربوط به نقش موئلفه باید از رابطی استفاده کند که هم امضا با رابطی باشد که خود موئلفه برای اجرای عملکردش استفاده می­ کند (برای ایجاد یکنواختی). چون در هر زمان امکان مزین کردن یک موئلفه را دارد برای اجرای عملکردهای موئلفه نیازی به ساختار حلقه نیست.
آذیین کننده ۷. حداکثر تعداد متدها بین کلاس­های ساختار استراتژی که عملی را به رابط های هم امضا باخودشان واگذار می­ کنند ( بدون وجود هر نوع حلقه برای این واگذاری). آذیین کننده برای اجرای عملکرد مربوط به نقش موئلفه باید از رابطی استفاده کند که هم امضا با رابطی باشد که خود موئلفه برای اجرای عملکردش استفاده می­ کند (برای ایجاد یکنواختی). چون در هر زمان امکان مزین کردن یک موئلفه را دارد برای اجرای عملکردهای موئلفه نیازی به ساختار حلقه نیست.
۴-۲-۹٫ معیارهای تشخیص ترکیب
شکل۴-۱۳٫ الگوی طراحی ترکیب [۱]
هدف این الگو ترکیب اشیا برای تشکیل یک ساختار درختی است به طوری که یک ساختار جز- کل را ایجاد می­ کند. این الگو این امکان را فراهم می­ کند تا کلاینت ها با اشیا مجزا و همین طور اشیا مرکب به طور یکنواخت رفتار کنند [۱ ].
الگوی ترکیب و آذیین کننده ساختار­های مشابهی دارند. هر دو متکی به ترکیب بازگشتی برای سازماندهی تعداد­ی اشیاء قابل تنظیم و تغییر هستند.
ترکیب ۱. آیا والد مشترکی بین ساختار استراتژی و زمینه تعریف شده است ؟ اگر زمینه و استراتژی هر دو از یک والد گسترش یافته باشند احتمال بالایی برای وجود الگوی ترکیب، آذیین کننده یا الگوی جا نشین وجود دارد.
ترکیب۲. تعداد فرزندان ساختار زمینه که متغیر نمونه ­ای از نوع والد خود دارند. ممکن است هر دو نقش های ترکیب کننده و موئلفه که تشکیل دهنده الگوی ترکیب هستند در ساختار زمینه ترکیب شوند.
ترکیب۳. تعداد فرزندان ساختار استراتژی که متغیر نمونه ­ای از نوع والد خود دارند. ممکن است هر دو نقش­های ترکیب کننده و موئلفه که تشکیل دهنده الگوی ترکیب هستند در ساختار استراتژی ترکیب شوند.
ترکیب۴. حداکثر تعداد متدها غیر از سازنده که پارامتری از نوع ساختار والد خود می­گیرند. (در ساختار زمینه). این الگو در یک لحظه می ­تواند بیشتر از یک موئلفه را ترکیب کند (حداقل ۲تا) بنابراین موئلفه­ها را تنها از سازنده نمی­گیرد.
ترکیب۵. حداکثر تعداد متدها غیر از سازنده که پارامتری از نوع ساختار والد خود می­گیرند. (در ساختار استراتژی). در یک لحظه می تواند بیشتر از یک موئلفه را ترکیب کند (حداقل ۲تا) بنابراین موئلفه­ها را تنها از سازنده نمی­گیرد.
ترکیب۶. حداکثر تعداد متدها بین کلاس­های ساختار زمینه که عملی را به رابط­های هم امضا باخودشان واگذار می­ کنند ( با وجود هر نوع حلقه برای این واگذاری). الگوی ترکیب برای اجرا کردن عملکرد موئلفه ترکیب شده باید از رابط هم امضا با رابط­هایی که موئلفه در آن عملکرد خود را انجام می­داده استفاده کند (برای ایجاد یکنواختی). چون هر لحظه موئلفه­های جدیدی ترکیب می شود از ساختار حلقه برا­ی اجرای عملکردهای موئلفه­ها استفاده می­ شود.
ترکیب ۷. حداکثر تعداد متدها بین کلاس­های ساختار استراتژی که عملی را به رابط­های هم امضا باخودشان واگذار می­ کنند ( با وجود هر نوع حلقه برای این واگذاری). الگوی ترکیب برای اجرا کردن عملکرد موئلفه ترکیب شده باید از رابط هم امضا با آنکه موئلفه در آن عملکرد خود را انجام می­داده داشته باشد (برای ایجاد یکنواختی). چون هر لحظه موئلفه­های جدیدی ترکیب می­ شود از ساختار حلقه برا ی اجرای عملکردهای موئلفه­ها استفاده می­ شود.

        1. چارچوب آنالیز جهت شناسایی اولیه و تصحیح برچسب

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...