در سال ۱۹۹۴ میلادی کتابی با نام دیزاین پترن منتشر شد. نویسندگان کتاب گروهی ۴ نفره از برنامه نویسان خبره بودند که به بیان نظرات موافق و مخالف خود درباره برنامه نویسی شی گرا پرداخته بودند. ایده بنیادی به وجود آورنده این کتاب این بود که معمولا برنامه نویس ها در پروژه های مختلف با اشکالات مشابه و بعضا یکسانی روبرو هستند و در این کتاب سعی شده بود تا به کمک برنامه نویسی شی گرا راه هایی برای این مشکلات مشابه پیشنهاد داده شود. این گروه ۴ نفره که به (Gang Of Four) مشهور هستند روش هایی را به عنوان راه حل ارائه کردند و آنها را به عنوان دیزاین پترن شهرت دادند.
همانطور که گفته شد این گروه برنامه نویس به این نتیجه رسیده بودند که معمولا برنامه نویس ها در پروژه های مختلف با اشکالات مشابهی روبرو هستند و هر کس با روش خودش اقدام به رفع این موارد می کند. به عنوان مثال ممکن است یک برنامه نویس یک کتابخانه شخصی از کد های پر کاربرد درست کند و بنا به مورد از آنها استفاده کند. اما مشکل اصلی از همین جا شروع می شود که در موارد بسیاری، این کدها دچار ضعف های منطقی هستند و در زمان نوشته شدن آنها فقط به رفع یک مشکل خاص توجه شده است و یا اینکه انعطاف لازم برای طرح های توسعه ای پروژه را ندارند و نیازمند کد نویسی های بسیار زیاد برای تکمیل و رفع یک اشکال هستند. این موارد باعث دور کردن نرم افزار از مسیر بهینه و کاربرد پذیری آن می شود. مفهموم دیزاین پترن اولین بار توسط GoF برای حل این مشکلات مطرح شد.
[h=3]این موضوع چه ربطی به طراحی وب دارد؟در مسیر توسعه دیزاین پترن گروه GoF تلاش های خود را در جهت استاندارد سازی هر چه بیشتر مسیر توسعه دهندگان نرم افزار ادامه دادند و بهترین تجربیات را مکتوب کردند. تجربیاتی که جریان کاری توسعه دهندگان نرم افزار را با یک زبان مشترک به سمت ساده سازی، انعطاف پذیری و ارتباط پذیری با سیستم های استاندرد پیش می برد. توسعه دهندگان وب نیز از از این قاعده مستثنی نبودند و جعبه ابزار خود را برای بهبود این مسئله به وجود آوردند.
درست است که این جعبه ابزار برای رفع مسائلی متفاوت با انچه گروه گاف حل کرده است مناسب است اما از آنجاییکه در پس ایده آنها مطرح و توسعه داده شده است از آن هم به عنوان دیزاین پترن در طراحی وب یاد می شود.
طراحی وب ریزه کاری های خودش را دارد و نکات زیادی وجود دارد که بدون توجه به ریز یا درشت بودن آنها اگر رعایت نشوند مخاطب به درک شهودی درستی از نرم افزار شما نمی رسد. در یک وب سایت ثانیه ها مهم هستند و نباید کاربر را خسته کنید در غیر این صورت بهترین نتیجه را از کار خود نخواهید گرفت.
طراحی وب ریزه کاری های خودش را دارد و نکات زیادی وجود دارد که بدون توجه به ریز یا درشت بودن آنها اگر رعایت نشوند مخاطب به درک شهودی درستی از نرم افزار شما نمی رسد. در یک وب سایت ثانیه ها مهم هستند و نباید کاربر را خسته کنید در غیر این صورت بهترین نتیجه را از کار خود نخواهید گرفت.
چگونه کاربران دروب سایت شما حرکت می کنند؟
بهترین شیوه نمایش مطالب چیست و آیا حرکت در میان بخش های سایت راحت انجام می شود؟
مهمترین مطالب کدام هستند و بهتر است کجا نمایش داده شوند؟
طراحی در ابزار های مختلف با رزولوشن های مختلف چگونه تغییر می کند؟
بازدیدکننده چگونه صفحه اصلی ما را تشخیص می دهد؟
و هزاران سوال مهم دیگر...
بهترین شیوه نمایش مطالب چیست و آیا حرکت در میان بخش های سایت راحت انجام می شود؟
مهمترین مطالب کدام هستند و بهتر است کجا نمایش داده شوند؟
طراحی در ابزار های مختلف با رزولوشن های مختلف چگونه تغییر می کند؟
بازدیدکننده چگونه صفحه اصلی ما را تشخیص می دهد؟
و هزاران سوال مهم دیگر...
حقیقتا در طراحی وب با سوالات بسیاری روبرو هستیم که پاسخ دادن به آنها به مفهوم بهبود کیفیت و کاربردپذیری هر چه بیشتر نرم افزار است. سوالاتی که شاید شما در هر طراحی با بخشی از آنها روبرو می شوید. آیا کمک کننده نبود اگر لیستی از راه حل های استاندارد و آزمایش شده پیش روی شما می بود تا در زمان ایجاد این سولات در ذهنتان، به آن رجوع می کردید و بهترین راه حل را انتخاب می کردید؟
[h=3]چه بلایی سر خلاقیت می آید؟برخی بر این عقیده اند که استفاده از دیزاین پترن ها دست و پای آنها را می بندد و خلاقیت آنها را محدود می کند. اما باید گفت در واقع اگر به درک درستی از این مفهوم برسید مرتکب چنین اشتباهی نمی شوید. دقت کنید دیزاین پترن یک مفهموم انتزاعی و فراتر از رنگ و طرح است. دیزاین پترن در واقع به نحوه ترکیب المان می پردازد نه شکل و طراحی آنها.
هدف از این مطلب آشنایی شما با مفهموم دیزاین پترن بود. مدل های مختلفی از پترن ها در طراحی وب وجود دارد که ما در مطالب آینده به آنها خواهیم پرداخت و به شکل دسته بندی شده آنها را از هم تفکیک می کنیم. همین الان هم شما با جستجوی "Design Pattern Libarary" به هزاران نتیجه دسترسی پیدا می کنید و از این طریق طیف وسیعی از پترن های موجود پیش روی شما خواهد بود. در ادامه لیستی از چند آرشیو خوب و البته نه کامل از پترن ها آورده شده است.
[h=3]http://developer.yahoo.com/ypatternsمجموعه ای زیبا و کاربردی از پترن ها در این آدرس وجود دارد به همراه هر پترن شرح مختصری از مشکلی که به کمک پترن مورد نظر برطرف شده است آمده است. این مجموعه زیاد بزرگ نیست اما اطلاعاتی بسیاری کاربردی در اختیار شما قرار خواهد داد.
[h=3]http://ui-patterns.com/patternsبدون اغراق این مجموعه یکی از بزرگترین آرشیو ها برای دیزاین پترن است. شیوه دسته بندی اطلاعات به شکلی است که به راحتی می توانید موارد مورد نظرتان را پیدا کنید.
[h=3]http://patterntap.comاین وب سایت هم مجموعه بزرگی از مثال ها را در اختیار شما قرار می دهد که برخی از آنها به خودی خود پترن نیستند ولی مثال های بسیار خوبی از ترکیب آنها است و ایده های خوبی را به شما می دهند. محتوای این وب سایت روش های سایر طراحان را در مسیر رفع مشکلات به شما نشان می دهد.
امیدوارم با استفاده از دیزاین پترن ها مسیر شما برای طراحی کاربردی و زیبا هموارتر شود.