IranIT.info Articles
عنوان الگوهاي طراحي، قسمت دهم : فصل دوم، بخش 1-2
نويسندهحسن ابوالحسنى تاريخ ارسال 25/01/1382 نام قسمت فناورى
فصل دوم

يک مطالعه نمونه

طراحي يک ويراستار

اين فصل يک مطالعه نمونه در طراحي يک ويراستار WYSIWYG بنام Lexi است (طراحي Lexi بر اساس Doc که کاربردي است که بوسيله Cadler توليد شده، انجام شده است). خواهيم ديد که چگونه الگوهاي طراحي راه حلهايي براي مسائل طراحي Lexi و کاربردي مشابه آن فراهم مي کنند. در انتهاي اين فصل تجاربي با 8 الگوي طراحي با آموختن از روي مثال حاصل خواهيد کرد.

شکل 2.1 رابط استفاده کننده Lexi را نشان مي دهد. يک نمايش WYSIWYG از مستند، ناحيه مربع مستطيلي عظيمي در مرکز را اشغال مي کند. مستند مي تواند متن و گرافيک را بطور دلخواه با سبک هاي متفاوت با هم ترکيب کند. در حول مستند منوهاي pull-down و scroll barها به همراه مجموعه اي از آيکونها براي پرش به يک صفحه مشخص در مستند وجود دارد.



2.1مسائل طراحي
در طراحي Lexi هفت مسئله را لحاظ مي داريم:
1- ساختار مستند. انتخاب نحوه نمايش داخلي براي يک مستند تقريبا تمام جنبه هاي طراحي Lexi را تحت تاثير قرار مي دهد. تمام ويرايش ها، فرمت بندي ها، نمايشات و تحليل هاي متني نياز به پيمايش آن نمايش دارند. روشي که اين اطلاعات را سازماندهي مي کنيم طراحي بقيه قسمتهاي کاربرد را تحت تاثير قرار مي دهد.
2- فرمت بندي. چگونه Lexi متون و اشياء گرافيکي را بصورت سطور و ستونها آرايش مي دهد. په اشيائي مسئول حمل سياستهاي متفاوت فرمت بندي هستند؟ چگونه اين سياستها با نمايش داخلي مستند مربوط هستند؟
3- زينت دادن رابط استفاده کننده. رابط استفاده کننده Lexi شامل scroll bar ها، border ها و drop shadow هايي که رابط استفاده کننده را زينت مي دهد است. اين زينت دادن ها با توسعه Lexi احتمالا تغيير خواهند کرد. بنابراين اهميت دارد که قادر به افزودن يا حذف اين زينت دهنده ها بطور ساده اي باشيم بدون تحت تاثير قرارگرفتن کاربرد.
4- پشتيباني از چندين استاندارد look-and-feel. بايستي Lexi بسادگي بدون نياز به اصلاحات اساسي براي look-and-feel هاي متفاوت نظير motif و presentation manager تنظيم گردد.
5- پشتيباني از سيستم هاي ويندوز متفاوت. استانداردهاي look-and-feel متفاوت معمولا بر روي سيستم هاي ويندوز متفاوت پياده سازي مي شوند. طراحي Lexi بايستي تا حد ممکن از سيستم ويندوز مستقل باشد.
6- اعمال استفاده کننده. استفاده کنندگان Lexi را از طريق رابطهاي استفاده کننده مختلف کنترل مي کنند، نظير دکمه ها و منوهاي pull-down. عملکردهاي در پشت اين رابطهاي استفاده کننده در بين اشياء متفاوت در کاربرد پخش شده است. چالش در اينجا تدارک يک مکانيزم واحد هم براي دسترسي به اين عملکردها و هم براي خنثي کردن اثرشان است.
7- چک اسپل و خط پيوند گذاري (hyphenation). چگونه Lexi اعمال تحليلي نظير چک کلمات با اسپل غلط و تعيين نقاط خط پيوند گذاري را تدارک مي بيند؟ چگونه مي توان تعداد کلاسهايي که براي افزودن يک عمل تحليلي جديد نياز به تغيير دارند را به حداقل رساند؟

اين مسائل طراحي را در بخش هاي آتي مورد بحث قرار مي دهيم. هر مسئله داراي مجموعه اي از اهداف به همراه محدوديتهايي براي حصول به آن اهداف است. قبل از پيشنهاد يک راه حل مشخص، اهداف و محدوديتها را تشريح مي کنيم. يک مسئله و راه حل آن يک يا چند الگوط طراحي را تشريح خواهد کرد. بحث برروي هر مسئله با معرفي اجمالي به الگوهاي طراحي مربوطه به اوج خواهد رسيد.