طراحی کاربرد الگوها در UML
طراحی کاربرد الگوها در UML – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 38000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۲ |
کد مقاله | COM02 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | طراحی کاربرد الگوها در UML |
نام انگلیسی | Design Patterns Application in UML |
تعداد صفحه به فارسی | ۲۹ |
تعداد صفحه به انگلیسی | ۲۹ |
کلمات کلیدی به فارسی | یو ام ال |
کلمات کلیدی به انگلیسی | UML |
کشور | فرانسه |
طراحی کاربرد الگوها در UML
زبان مدلسازی یکپارچه (UML) در حال حاضر مکانیزمی برای مدلسازی ساختارهای طراحی باز- رخدادگر (یا رویدادهایی که مجددا رخ میدهند) را پیشنهاد نموده است: مشارکتهای پارامتری. هدف اصلی چنین مکانیزمی مدلسازی ساختار الگوهای طراحی میباشد. این مورد جالب توجه بوده، چرا که میتواند به طراحان کمک نماید تا آنکه کاربرد الگو را بدون صرف وقت چندانی برای انجام طراحی پیچیده محقق سازند. علاوه بر این، این خصیصه میتواند به طراحان جهت مستند سازی بهتر سیستم و مدیریت کتابخانه الگوی طراحی خود، که میتواند در سیستمها و یا پروژههای مختلفی مورد استفاده قرار گیرد، کمک نماید. با این وجود، از نقطه نظر ابزاری، معانی مرتبط با مشارکتهای پارامتری هنوز نیز مبهم میباشد. جهت مشخص سازی دقیق، ارائه اصولی الگوی طراحی و کاربرد آن، و ارتباطات بین این دوسطح بخوبی تعریف نگردیده است و از اینرو، آن را میتوان به روشهای مختلفی تفسیر نمود. این مقاله دارای دو هدف میباشد. در ابتدا خاطرنشان ساختن ابهامات و تعیین برخی از نقاط غیرقابل درک در خصوص مشارکتهای پارامتری در ادبیات رسمی UML مد نظر میباشد. ما به هنگامی که الگوهای طراحی را بطور موثر مدلسازی میکنیم، محدودیتهای این مکانیزم را نیز نشان میدهیم. هدف دوم، ارائه راه حلهای این محدودیتها و تشریح چگونگی بکار گرفته شدن این ابزارهای یکپارچه ساز در برنامههای کاربردی نیمه اتوماتیک الگوهای طراحی میباشد.
طراحی کاربرد الگوها در UML
مقدمه
الگوهای طراحی، مجتمع در یک زبان مدلسازی ایدهای جالب توجه بشمار میآید. یک ساختمان ساده مدلسازی که اجازه میدهد تا بصورت صریح کلاسهای حضوریافته در الگوی طراحی را خاطر نشان سازیم، کمک بزرگی برای طراحان بشمار میآید. علاوه بر مزیت مستقیم مستند سازی دقیق و در نتیجه فهم بهتر از مدل، خاطر نشان کردن وجود الگوی طراحی به طراحان اجازه میدهد تا بطور مطلق جزئیات شناخته شده طرح (مثل ارتباطات، روشها) را بیان دارند و بر روی وظایفی که دارای اهمیت بیشتری میباشند متمرکز شوند.
از جمله ایدههای مدنظر در این خصوص، که نتیجه اولی بشمار میآید، مهیا نمودن پشتیبانی ابزاری از این زبان مدلسازی و بنابر این، طراحی الگوها میباشد. اجرای اتوماتیک الگوها به ما کمک میکند تا بر برخی از مسایل و تفاوتهایی که بوسیله تعدادی از برنامهنویسان بوجود آمده غلبه نمائیم. بطور دقیقتر، یک ابزار میتواند اطمینان دهد که محدودیتهای الگو رعایت گردیده است (مثل آنکه موضوعی بصورت همیشگی مشاهده کنندگان خود را به هنگام تغییر باخبر سازد)، از برخی از مشکلات اجرایی صرف نظر شده است (مثل ساخت چندین روش روبجلو در الگوی ترکیبی) و حتی شناسایی الگو در میان کد مبدا، واجتناب از دست رفتن آنها پس از اجرا.
جامعه UML در برابر ایده اول سر فرود آورد. آخرین نگارش زبان مدلسازی یکپارچه طراحی مشارکتی خود را، به منظور پشتیبانی بهتر از الگوهای طراحی، ارتقا داده است. در حقیقت، دوسطح مفهومی ارائه شده توسط این مشارکتها (یعنی، مشارکت پارامتری و کاربرد مشارکتی) بصورت مناسب و کاملی در الگوهای طراحی جای گرفتند. در سطح کلی، یک مشارکت پارامتری قادر است تا ساختار راه حل عرضه شده توسط یک الگو، که بر حسب موارد عمومی اعلام شده است، را ارائه نماید. کاربرد این راه حل، یعنی اصطلاحات علمی و مشخصات ساختار در یک محتوای ویژه، (که بنام رخداد الگو خوانده شده) را میتوان توسط کاربرد مشارکتی ارائه نمود.
با ابن وجود، مشارکتهای پارامتری UML از عدم دقت رنج میبرد، که باعث محدود ساختن مزایای ابزار پشتیبان و عدم مقبولیت مورد دوم میگردد.
بخش ۲ اختصاص به معرف الگوهای طراحی در UML داشته و از عهده برخی از ابهاماتی که باعث ممانعت از پشتیبانی ابزار گشته بر میآید. رخدادهای الگو در بخش ۲٫۱ ارائه شده که در آن چگونگی اتصال رخدادهای الگوها به تشریحات عمومی آنها بروشی دقیق مورد بررسی قرار میگیرد. وضعیت کلی تشریح الگوها در UML از طریق ایده مشارکتهای پارامتری مورد پشتیبانی قرار گرفته است. محدودیتهای مشارکتهای UML بصورت دقیقی در بخش ۲٫۳ مورد تجزیه و تحلیل قرار گرفته است. ایدههایی جهت فایق آمدن به کمبودهای مشارکتها در بخش ۲٫۴ نشان داده شده است و برخی از راهنمائیها در خصوص مدلسازی ذات الگوهای طراحی با دقت بیشتری عرضه گردیده است.
به هنگامی که مهمترین مسایل مرتبط با معرفی الگوهای طرح در UML مورد اشاره قرار گرفت، مدلسازی بهتری از الگوی طراحی را میتوان بوجود آورد. پشتیبانی از ابزار موثر در طراحی الگوهای UML در بخش ۳ ارائه گردیده است. بخش ۳٫۱ خصیصههای اصلی که یک کاربر ممکن است در خصوص ابزار الگوی طراحی کارا مورد نظر داشته باشد را بیان مینماید. با توجه به قالب انتقال ارائه شده توسط پروتوتایپ UMLAUT (معرفی شده در بخش ۳٫۲)، ما در بخش ۳٫۳ نشان میدهیم که چگونه یک دیدگاه برنامه نویسی متا اجازه دستکاری الگوهای طراحی را داده و وظیفه طراحان را آسان میسازد.
طراحی کاربرد الگوها در UML
الگوهای طراحی و مشارکتهای UML
معرفی رخدادهای الگوی طراحی
چنانچه برخی از پشتیبانیها را برای ایده الگو مهیا نساخته باشیم، UML بسختی میتواند قواعد لازم را بعنوان ایده واحد برای مدلسازی آبجکت گرا مهیا نماید. از اینرو مستندات فراوان UML دارای بخشهایی بوده که بطور کل اختصاص به الگوها دارد. شکل ۱ ارائه دهنده مثالی در این خصوص آن میباشد که چه چیزی معرف رخداد الگوی طراحی ترکیبی است، همانگونه که در راهنمای (۲۶) UML آورده شده است:
ایده ۱٫۳ UML برای رخدادهای الگوهای طراحی بصورت خطوط بریده بیضی شکل بوده که به خطوط بریده به کلاسهایی که در الگو شرکت دارند مرتبط میباشد.
پیشنهادات رسمی UML : مشارکتهای پارامتری
معمولا در نظر میباشد که الگوهای طراحی بوسیله مشارکتهای پارامتری مدلسازی گردند. این مورد در UML بصورت مشابه با کلاسهای قالب ارائه میگردد. بر حسب صفحه ۳۸۷ کتابچه راهنمای کاربر، ۳ مرحله برای مدلسازی یک الگوی طراحی مورد نیاز میباشند:
مشخص نمودن راه حل معمول در خصوص مشکلات مشترک و شایع و جسمیت دادن به آن بعنوان یک مکانیزم
مدلسازی یک مکانیزم بصورت مشارکتی، بدان معنا که یک فضای نام شامل ساختار آن به همراه ویژگیهای رفتاری آن باشد.
مشخص نمودن عنصر الگوی طراحی که میبایست به عناصر موجود در متن خاص متصل گشته و آنها را بعنوان پارامترهای مشارکت ارائه دهد.
دو مرحله آخر این ایده را عرضه میدارند که چگونه یک الگوی طراحی را میتوان مدلسازی نمود (و چگونه یک ادیتور مشارکتی کار مینماید).
یک مشارکت بر حسب قواعد تعریف میگردد. ویژگیهای ساختاری مشارکت با استفاده از ClassifierRoles مشخص میگردد، که نگهدارنده جا برای آبجکتهایی است که به منظور دسترسی به اهداف مشارکتی در تعامل میباشند. بعنوان یک نگهدارنده جا، یک قاعده مشابه است با متغیر آزاد و یا فرمت پارامتر روتین. این مورد پس از آن به آبجکتی متصل میشود که منطبق با ClassifierRoles باشد. چندین آبجکت میتواند یک قاعده مشخص را در زمان اجرا عملی نموده و هر کدام از آنها میبایست منطبق با قاعده کلاسیفایر باشد. ClassifierRoles بوسیله AssociationRoles به هم مرتبط میشوند که نگهدارنده جا برای مشارکتهای داخل آبجکت میباشند.
طراحی کاربرد الگوها در UML
محدودیتهای مشارکتهای پارامتری
با این وجود، محدودیتهای شدیدی در خصوص نیروی عناصر محدود کننده مرتبط با مشارکت وجود دارد:
محدودیتهای عمومیت دادن: معرف گرافیکی مشارکت باعث اضافه نمودن قواعد کلاسیفایر به اصول مترادف آن میگردد که استفاده از پیکانهای عمومی را با ابهام روبرو میسازد. در مقابل با ارتباطات عمومیت یافته بین اصول مرتبط آنها، این حالت ارتباط عمومی بین قواعد کلاسیفایرها، بخودی خود باعث محدودیتهای مقدماتی نمیگردد. آنها بدین معنا میباشند که قانون چایلد یا فرزند از کلیه خصیصههای والدین خود ارث میبرد. این ابهام گرافیکی منشا موارد گیج کننده در کتابهای UML میباشد. به عبارت ذیل توجه کنید:
در یک مشارکت پارامتری برخی از قوانین مرتبط با کلاسیفایر را میتوان بصورت پارامتری درآورد. حالت عمومی بین دو کلاسیفایر پارامتری معرف آن است که هر کلاسیفایری که به قوانین متصل میباشد میبایست ارتباطات عمومیت را حاصل نماید.
محدودیتهای ارتباطات : مستند سازی UML ساخت پارامترهای قالب قواعد ارتباطی اصولی را در مشارکت مفید نمیداند. همچنین در نظر گرفته شده است که اصول قواعد ارتباطی را میتوان بطور اتوماتیک از ارتباطات موجود در بین کلاسیفایرهای پایه داده شده مورد استنتاج قرار داد، آن هم به هنگامی که مشارکت بصورت اتصال بوده باشد. با این وجود، برخی از مواردی وجود دارند که این فرضیه در مورد آنها صادق نمیباشد، آن هم به هنگامی که چندین ارتباط بصورت کاندید وجود داشته باشند، و یا هنگامی که ارتباط مستقیمی وجود نداشته باشد. حالت اولی یک انتخاب اختیاری را بعمل میآورد، در حالی که وضعیت آخری نیاز به ساخت ارتباط جهت مهیا نمودن میانبرهای لازم جهت ارتباطات غیر مستقیم دارد. بطور مثال، الگوی مشاهده شده، که در آن میتوان یک آبجکت تغییر دهنده بین کسی که مشاهده میشود و کسی که مشاهده کننده است بوجود آورد و این ارتباط از طریق میانجی مورد محاسبه قرار خواهد گرفت. روشی که در آن یک عنصر مرتبط میتواند بوسیله نوع موجود، اما غیر مستقیم خود، مورد محاسبه قرار گیرد.
طراحی کاربرد الگوها در UML