نرم افزار طراحی الگو جمینی ؛ آموزش استفاده + کاربردهای آن
با پیشرفت فناوری و نفوذ روز افزون آن در زندگی انسان، نحوه ی طراحی لباس نیز دست خوش تغییر شده است. یکی از ابزارآلاتی که باعث ایجاد تغییر در این حرفه شده است نرم افزار طراحی الگو جمینی است. با استفاده از این نرم افزار به راحتی می توان الگو و سایز بندی های لباس را طراحی کرد.
این نرم افزار الگوهای ارائه شده را تحلیل کرده و با توجه به سایز الگو و همچنین ابعاد پارچه، بهترین چینش را به شما ارائه میدهد تا شما با استفاده از کمترین میزان پارچه، الگوهای خود را چیده و پارچه را برش بزنید. در واقع این نرم افزار به شما کمک میکند کار خود را به شکلی پیش ببرید که کمترین دور ریز پارچه را مشاهده کنید. البته باید به یک نکته بسیار مهم نیز توجه کرد و آن این است که شما میتوانید بر مبنای جنس پارچه و خواست خود این چینش را تغییر داده و با توجه به نیازتان چینش الگو را انجام دهید.
همچنین تولید کنندگان لباس می توانند در کم ترین زمان ممکن می توانند طراحی بی نقصی را انجام دهند و یک الگوی مناسب تولید کنند. طراحان و تولید کنندگان لباس می توانند با یادگیری نرم افزار جمینی الگوی مورد نظر خود را به راحتی طراحی و پیاده سازی کنند و با کمک جدول هایی که با تایید فرد به نرم افزار اضافه می شود می توانند سایزی متناسب با الگوی خود انتخاب کنند. به همین دلیل است که سایزبندی با استفاده از نرم افزار جمینی به راحتی انجام می شود. در این نرم افزار سایز بندی الگو به دو روش خودکار و نقطه ای انجام می شود.
از دیگر قابلیت های این نرم افزار این است که اگر اشکالی در طراحی لباس وجود داشته باشد، قبل از این که طرح روی پارچه پیاده شود فرد می تواند اشکال را در نرم افزار ببیند و پس از مشاهده ی اشکالات احتمالی فرد می تواند ایرادات را برطرف کند و متناسب با سایز بندی های مدنظر خود، طرح مورد نظر خود را ایجاد کند. برای آشنایی هر چه بیشتر شما با نرم افزار طراحی الگو جمینی در این سری از آموزش های روچی قصد داریم شما را به طور کامل با این نرم افزار قدرتمند آشنا کنیم.
موضوعاتی که در این صفحه از روچی میخوانید:
چگونه از نرم افزار جمینی جهت چیدمان الگو استفاده میشود؟
نرم افزار جمینی این امکان را در اختیار شما قرار میدهد تا نحوه چینش الگوهای خود را انتخاب کرده و با توجه به خواست، سلیقه، نیاز، جنس پارچه، اولویتها و آشنایی با ۳ نوع اصلی الگوهای چارت مواردی از این دست، چینش پارچه را انجام دهید.این روشها عبارتند از:
۱) چیدمان خودکار توسط نرم افزار
در این روش شما برای آن که کمترین دور ریز پارچه را داشته باشید، الگوهای خود را به نرم افزار ارائه داده و نرم افزار با کمک هوش مصنوعی، چینش را انجام میدهد. عموما این روش زمانی مورد استفاده قرار میگیرد که پارچه مورد استفاده شما ساده و فاقد طرح بوده و تفاوتی در نحوه قرار گیری الگو بر روی آن وجود نداشته باشد.
۲) به صورت دستی
در این روش شما میتوانید تک تک الگوهای ارائه شده به نرم افزار را به صورت دستی در کنار یکدیگر قرار داده و تماما مطابق خواست خود این پروسه را انجام دهید. این روش معمولا زمانی مورد استفاده قرار میگیرد که طرح پارچه شما خاص بوده و مهم باشد پارچه از چه سمت و سویی برش میخورد. البته باید تاکید کنیم دور ریز پارچه در این روش به نسبت روش قبل بیشتر بوده و شما میبایست هزینه بیشتری بابت پارچه متقبل شوید.
3) تلفیقی
در روش تلفیقی شما به راحتی میتوانید دو روش گذشته را در کنار هم به کار گرفته و از تلفیق آنها بهترین نتیجه را به دست آورید. در این روش شما میتوانید پس از چینش دستی الگوهای خود، سایر فضاهای موجود را به دست نرم افزار بسپارید تا جمینی به صورت اتوماتیک آنها را مورد استفاده قرار دهد.
9 مزیت استفاده از نرم افزار طراحی الگو جمینی
1 – ارائه وزن و طول پارچه
نرم افزار جمینی این قابلیت را دارد که هر بار فرد طرحی را طراحی می کند و یا از الگویی استفاده می کند وزن پارچه و مقدار طول آن را نمایش دهد این کار باعث می شود هم در هزینه ی پارچه صرفه جویی شود و هم فرد در مشخص کردن میزان پارچه ی مورد نیاز دچار سردرگمی نشود.
2 – کاهش مصرف پارچه
با استفاده از نرم افزار جمینی می توان در مصرف پارچه صرفه جویی کرد، به دلیل این که قبل از برش پارچه بهترین نحوه ی چیدمان الگو مشخص می شود و افراد می تواند با استفاده ی حداکثری آشنایی با ۳ نوع اصلی الگوهای چارت از پارچه میزان دور ریز پارچه ی مصرفی خود را کاهش داده و در نتیجه در هزینه های مصرفی نیز کاهش یابد.
3 – بهترین چیدمان الگو
از دیگر مزایای این نرم افزار این است که متناسب با سایز پارچه می توان بهترین شیوه چیدمان طرح و الگو را در کمترین زمان ممکن ارائه داد و همچنین اگر سایز پارچه تغییر کرد نحوه ی چیدمان الگو نیز تغییر خواهد کرد. همچنین در این نرم افزار می توانید چندین مجموعه ی الگو را با دقت و به صورت خودکار چیدمان نمایید. پس از چیدمان خودکار می توان تغییرات را بر روی چیدمان به صورت دستی اعمال کرد.
4 – داشتن توابع و ابزار متنوع
نرم افزار جمینی دارای ابزار و توابع متنوعی است که فرد می تواند از آن برای طراحی الگو استفاده کند که تعداد این ابزار و توابع پیشرفته به بیش از ۷۰ عدد می رسد که می تواند کار طراحی الگو را برای فرد آسان کند، از جمله ی این ابزارها می توان به مواردی همچون توابعی برای ایجاد درز در الگو، ایجاد چرت، اوزمان، ایجاد پلیسه روی طرح مورد نظر و همچنین انتقال و یا ایجاد ساسون بر روی الگو اشاره کرد.
امکانات دیگری که این ابزار و توابع در اختیار کاربر قرار می دهند این است که: برای افزایش دقت و سرعت طراحی می توان اجزای یک الگو را به الگوی جدید انتقال داد، به منظور استفاده ی مجدد روش سایز بندی را به عنوان یک قانون ذخیره کرد، فایل های ذخیره شده الگو را به فرمت فایل های سایر نرم افزارهای شناخته شده تبدیل می کند، می توان طرح الگو را آرشیو کرد، می توان الگوی مادر را به نرم افزار انتقال داد تا طراح تغییر و سایزبندی که مدنظر دارد را در آن پیاده کند.
علاوه بر این، این قابلیت باعث می شود که فرد بتواند خیلی سریع بر اساس نیاز بازار و تغییر بازار مد، تغییر کند و همچنین ریسک طراحی و ایجاد الگوی جدید نیز کاهش می یابد.
5 – برقراری ارتباط با دستگاه های مرتبط با طراحی لباس
رابط کاربری نرم افزار جمینی به دو زبان فارسی و انگلیسی است و همچنین این نرم افزار می تواند دستگاه های مرتبط با طراحی لباس همچون پلاتر و یا دستگاه برش و سایر محصولات نرم افزار ارتباط برقرار کند. برای مثال اگر می خواهید چیدمان الگو را به دستگاه برش ارسال کنید می توانید با مشخص کردن توالی برش را ارسال کنید و سپس برش بزنید یا اگر تمایل دارید که برش به صورت دستی انجام شود می توانید نحوه ی چیدمان الگو را با ابعاد تولید و اندازه های واقعی بر روی پلاتر پلات نمایید. این کار باعث می شود که افراد بدون هیچ گونه اشتباهی در طراحی الگو، الگوی مورد نظر خود را طراحی کنند و زمان ایجاد ایده تا طراحی الگو نیز کاهش می یابد.
علاوه بر این، در نرم افزار جمینی می توان برای برش موثر قطعات لایی چسب دار را در چیدمان گروه بندی نمود.
6 – استفاده از تابع دستیار
همان طور که گفتیم یکی از مزایای نرم افزار جمینی این است که دارای توابع و ابزار متنوعی است که این ابزار کار طراحی لباس را برای فرد آسان می کنند، در کنار این ابزار فرد می تواند از تابع ابزار الگو استفاده کند که این کار به طراحی بهینه ی لباس کمک می کند
7 – استفاده از منحنی در الگوهای مورد نظر
یکی دیگر از مزایای نرم افزار جمینی این است که طراح می تواند در صورتی که نیاز به استفاده از منحنی داشته باشد در الگوی مورد نظر خود از منحنی استفاده کند که در این نرم افزار فرد می تواند به بهترین نحو منحنی های مورد نظر خود را رسم کند و آن ها را تنظیم و کنترل کند که تابع منحنی که می توان از آن برای ایجاد منحنی های کامل و یکنواخت در نرم افزار تابع منحنی BEZIER نام دارد.
نکته ی دیگری باید در مورد منحنی های نرم افزار جمینی به آن اشاره کرد این است که می توان این منحنی ها را با استفاده از تابع منحنی BEZIER کنترل، ویرایش و حتی تغییر داد.
8 – ارتباط با دستگاه دیجیتایزر
اگر الگویی مدنظر طراح است دارای سایز بندی باشد، از طریق ارتباط دستگاه دیجیتایزر و نرم افزار می توان طرح های مورد نظر و سایز بندی های مختلف را به دستگاه دیجیتایزر وارد کرد. همچنین نرم افزار جمینی این قابلیت را دارد که از جداول سایز بندی که در خود نرم افزار وجود دارد استفاده کند و یا سایز بندی مطابق با استانداردهای خود ایجاد کند.
علاوه بر این، می توان سایز را در محدوده ی دلخواه ایجاد کرد.
9 – پذیرش شروط مختلف در هنگام چینش الگو و پشتیبانی از فرمت فایل ها
همان طور که گفتیم با الگوریتم های پیشرفته ای که در نرم افزار جمینی به کار رفته است بهترین چینش الگو در نرم افزار انجام می شود، در کنار این قابلیت نرم افزار می تواند شروط مختلفی را در هنگام چینش نرم افزار بپذیرد که از جمله این شروط می توان به مواردی همچون عدم چینش در صورت وجود عیب در پارچه، رعایت راه و بیراه پارچه، چینش قطعات انتخاب شده و … اشاره کرد که این باعث می شود که زمان ارائه ی چینش جدید کاهش آشنایی با ۳ نوع اصلی الگوهای چارت یابد و اگر تغییری در شرایط تولید بوجود آید این امکان وجود دارد که چیدمان به صورت خیلی سریع تغییر کند و در نتیجه راندمان چیدمان افزایش یابد.
همچنین این قابلیت نرم افزار جمینی باعث می شود که اگر عیبی بر روی پارچه بود عیب را تعریف کند و در مقایسه با بهترین نرم افزارهای پوشاک بهترین چیدمان را ارائه دهد. نرم افزار جمینی از فایل های نرم افزار طراحی معتبر پوشاک و فرمت فایل های استاندارد HPGL، DXF ،AAMA و PLT پشتیبانی می کند.
امکاناتی که در نرم افزار جمینی ارائه میشود
هر نرم افزاری دارای امکانات متعددی است که سبب میشود کاربران متعددی سمت آن جذب کردند. نرم افزار جمینی نیز از این قاعده مستثنی نیست. نمونههایی از امکانات این نرم افزار عبارتند از:
• امکان برعکس شدن و آینه شدن الگوها
• چیدمان تکی و چندتایی
• محاسبه درجه آب رفت پارچه
• تعیین حدود قرار گرفتن قطعات الگو بر روی پارچه
• محاسبه فاصله دو تکه الگو در کنار یکدیگر
• امکان سایزدهی الگوها
• ذخیره الگوها
• درجه آزادی چرخش برای الگوها
• و…
چرا باید از نرم افزار جمینی استفاده کنیم؟
شاید بتوان گفت نرم افزارهای بسیاری در دنیا وجود دارند که میتوانند شما را برای یک چینش بهتر الگو یاری کنند اما در کشور ما رایجترین و پرطرفدارترین آنها جمینی است. دلیل محبوبیت این نرم افزار به تاکید متخصصینی باز میگردد که پس از بررسیهای بسیار، بازدهی این نرم افزار را بیش از دیگر نمونههای موجود دانسته و اعلام داشتهاند که جمینی میتواند سبب افزایش بازدهی کسب و کار شده و هزینههای بسیاری را کاهش دهد. از طرف دیگر صرفهجویی در زمان یکی از فاکتورهای اصلی این نرم افزار است که میتواند شما را برای کسب بهترین نتیجه یاری کند.
نرمافزار طراحى الگو و سایزبندى جمینی (Gemini)، محصولى کامل در مسیر طراحی اصولی، دقیق، سریع و بیعیب بوده که کاملا بر اساس نیاز تولید کنندگان پوشاک طراحی شده است. این نرم افزار میتواند بدون هیچ محدودیتی، الگوی مورد نظر شما را با توجه به جدول استاندارد سایزهای موجود، در آرشیو خود سایزبندی کرده و مطابق با متد دلخواه شما عمل کند.
از طرف دیگر استفاده از دو زبان فارسی و انگلیسی در طراحی آن، بهرهگیری از ابزارهای پیشرفته طراحی الگو همچون ایجاد ساسون، جابهجایی ساسون، اجرای پلیسه با مدلهای گوناگون، توجه به درز لباس، ایجاد چرت، اوازمان و مواردی از این دست، شرایطی را به وجود آورده است که هر فردی به سادگی میتواند الگوی مورد نظر خود را طراحی کرده و چینش آن را انجام دهد. از طرف دیگر ایجاد منحنیهای کامل و یک شکل در طراحی الگو، امکان کنترل بهتری در مسیر ترسیم منحنی ایجاد کرده است.
نکته مهم جهت استفاده از این نرم افزار این است که میتواند با کمک رابط کاربرى فارسى، قابلیت ارتباط با سایر محصولات نرمافزارى معتبر دنیا و دستگاههاى سختافزارى توسعه یافته پوشاک همچون دیجیتایزر، پلاتر، دستگاه برش خودکار و… را داشته باشد. از طرف دیگر اگر الگو دارای سایزبندی باشد که عموما در تولیدیها به این شکل است، تمام سایزها بهصورت مستقیم از طریق دیجیتایزر وارد سیستم این نرم افزار میگردند.
مهمترین فواید نرم افزار چیدمان الگو جمینی چیست؟
• امکان بهرهمندی از جداول سایربندی استاندارد موجود در نرم افزار
• امکان ایجاد سایزبندی جدید بر اساس استاندارد
• توانایی تعییر فرمت الگوی ذخیره شده به فرمت سایر نرم افزارهای موجود
• امکان ویرایش، کنترل و تغییر منحنیهای الگو به راحتی و دقت بسیار
• امکان انتقال یک الگو به الگوی جدید جهت بالا بردن سرعت و دقت در کار
• امکان انتقال الگوی اصلی به نرم افزار جهت استفاده در جهت سایز بندی
• وجود ۷۰ ابزار پیشرفته جهت تسهیل طراحی الگو
• بهرهگیری از ” دستیار طراحی الگو ” در مسیر طراحی بهینه
• حفظ و ذخیره سایزبندیها جهت استفاده دوباره کاربر
• بررسی تطابق قطعات گوناگون الگو با هم قبل از دوخت
• دارا بودن رابط کاربری به زبانهای گوناگونی چون فارسی، عربی، انگلیسی، ترکی استانبولی و…
• امکان سایزبندی الگو به دو شیوه خودکار یا نقطهای
• امکان ایجاد یک آرشیو بزرگ از الگوهای طراحی شده
• امکان تغییر سایزبندی
• امکان طبقهبندی الگوها
• پاسخگویی به نیاز بازار امروز
• امکان ویرایش و تغییر سریع الگو
• کاهش زمان طراحی الگو
• کاهش ریسک ایجاد یک الگوی جددید
• افزایش دقت در طراحی
• امکان ارسال الگوهای طراحی شده به وسیله اینترنت
• و…
در این مطلب سعی کردیم به طور کامل شما رو با یکی از بهترین نرم افزارهای طراحی الگو، یعنی جمینی آشنا کنیم.
نظر شما در مورد این نرم افزار یا نرم افزارهای مشابه چیست؟ حتما برامون کامنت بزارید.
آشنایی با مفهوم کنترل کیفیت
همانطور که می دانید در عصر کنونی و با حضور تولیدات گسترده، مهم ترین وجه تمایز در زمان عرضه کیفیت محصول است.
برای داشتن یک محصول فوق العاده و با کیفیت بالا باید از سیستم های کنترل کیفیت به درستی استفاده کرد.
در این مقاله سعی داریم با این مفهوم و روش های انجام آن آشنا شویم.
1# کنترل کیفیت (Quality Control) چیست؟
در چنین شرایط رقابتی تنها آن دسته از شرکت کننده هایی می توانند موفق باشند که
محصولات با کیفیت تری با خدمات پیش فروش قابل توجه و برتری نسبت به دیگر تولیدکنندگان در اختیار کاربران قرار دهد.
کنترل کیفیت (Quality Control) در صورتی که به قبل از تولید هر محصول درستی انجام شود سبب بهره وری بهتر از منابع موجود و همینطور کاهش هزینه ها می شود.
عبارت کنترل کیفیت، ترکیبی از دو کلمه کنترل + کیفیت است.
در اینجا این دو کلمه را برای شما تشریح می کنیم.
در واقع، کنترل کیفیت به یکی از ملاحظات اصلی قبل از تولید هر محصول تبدیل شده است.
به زبان دکتر اسپریگل (Spriegel) کنترل کیفیت این طور معنا شده است:
از مجموع ویژگی هایی نظیر شکل، استحکام، ترکیبات، اندازه و رنگ کیفیت محصول مشخص می شود.
از دیدگاه جان مک لیلان (John D.McIIellan) به درجه ای از استانداردها که برای ساختن نهایی یک محصول روی آن اعمال می شود کیفیت گفته می شود.
از تعاریف مطرح شده تا اینجا به راحتی می توان نتیجه گیری کرد کیفیت به ویژگی های درج شده در سطح عالی محصول مرتبط است.
کیفیت یک مفهوم نسبی است و با توجه به شرایط معانی متفاوتی را بیان می کند.
در اینجا کیفیت به کارکرد محصول بر طبق تعهداتی که توسط تولیدکننده و یا فروشنده محصول به خریدار داده شده است دلالت می کند.
2# وظیفه کنترل کیفی
در کنترل کیفیت وظیفه اصلی، کسب اطمینان از کیفیت کالا و خدمات مطابق با معیارها و استانداردهای مربوط است.
این اطمینان عمدتا به وسیله امتحان و آزمایش بدست می آید.
به این روش اگر تولید کننده ای کیفیت محصولات خود را مطابق با معیارها و استانداردها در نظر نگیرید
محصول او از چرخه تولید و خدمات خارج می شود.
در تجارت ها کنترل کیفی عضو جدایی ناپذیر این مجموعه است.
کنترل کیفی نیاز به یک استراتژی خاص، زمان، هزینه و تعهد به کیفیت دارد.
#3 روش کنترل کیفیت (QC)
برای اجرای یک برنامه مؤثر QC، یک شرکت در ابتدای مسیر باید تصمیم گیری کند که
استانداردهای خاص محصول یعنی همان خدمات را رعایت کند.
سپس میزان اقدامات QC را باید مشخص کند. به عنوان مثال، درصد واحدهای مورد آزمایش از هر قطعه.
در مرحله بعد، داده های دنیای واقعی باید جمع آوری شود.
مثل درصد واحدهایی که از کار می افتد و نتایج به آشنایی با ۳ نوع اصلی الگوهای چارت کارکنان مدیریت گزارش شود.
سپس اقدامات اصلاحی باید تصمیم گرفته شود.
به عنوان نمونه، واحدهای معیوب باید تعمیر شوند و یا اینکه رد شوند و خدمات ضعیف بدون هیچ هزینه ای تا زمان رضایت مشتری تکرار شوند.
اگر بیش از حد بسیاری از خرابی های واحد یا مواردی از خدمات ضعیف اتفاق بیفتد،
باید یک برنامه برای بهبود روند تولید یا خدمات طراحی و عملی شود.
4# درک کنترل کیفیت
به انجام آزمایش های واحد که تعیین کننده مشخصات نهایی محصولات هستند کنترل کیفیت گفته می شود.
در واقعیت هدف از انجام چنین آزمایش هایی تعیین نیازهای لازم به جهت انجام اقدامات اصلاحی محصولات است.
اگر کیفیت کنترل در رتبه بالایی قرار داشته باشد نیاز و خواسته مشتریان را بهتر برطرف می کند و سبب جذب مشتری می شود.
تست کیفیت تولید معمولا به این صورت که ابتدا با آزمایش مواد اولیه شروع می شود،
کارمندان نمونه ها را از امتداد خط تولید می کشند و
در نهایت محصول نهایی را مورد آزمایش قرار می دهند.
آزمایش در مراحل مختلف ساخت برای جلوگیری از بروز مشکل در آینده نیاز است.
در یک تجارت کنترل کیفیت وابسته به محصول تولیدی است.
برای مثال در تولید مواد غذایی و دارویی کنترل کیفیت بر این موضوع دلالت دارد که
بیماری با مصرف دارو اوج نگیرد و یا به عنوان مثالی دیگر در ساخت خودرو، کنترل کیفیت به این صورت است که
قطعات در کنار یکدیگر قرار بگیرند و با یکدیگر در تعامل باشند و یا اطمینان از اینکه موتور بصورت کارآمد و روان کار می کند.
5# چرا از QC استفاده می شود؟
به هفت دلیل زیر از کنترل کیفیت استفاده می شود:
- ایجاد تصویری مناسب از محصولات که نتیجه آن بالا رفتن فروش است.
- کمک به تولید کننده به جهت ثابت کردن وظایف کارگران
- پیش بینی کردن ارزش و همچنین تعیین قیمت رقابتی
- افزایش راندمان کاری
- بهبود بخشیدن شرایط کاری
- استانداردسازی در کار
- اطمینان از تطابق محصول با استانداردهای اجباری به جهت استفاده در قدم های بعدی
6# روش های کنترل کیفیت
کنترل کیفیت معمولا به دو روش قابل انجام است.
رایج ترین روش آن بازرسی است که در سه مرحله انجام می شود:
1- بازرسی محصول: زمانی که محصول به حالت نهایی خود رسیده است یعنی انتهای فرآیند تولید صورت می گیرد.
2- بازرسی فرآیند: در حین فرآیند به جهت اطمینان از کیفیت مواد خام و همینطور دستگاه ها و تجهیزات انجام می پذیرد.
3- تحلیل بازرسی: یافتن نقاط دقیق مشکل در فرآیند که یک روش تحلیلی و دور اندیشانه تر نسبت به 2 روش قبل است.
روش آماری که به عنوان روش دوم شناخته شده است و یک روش پیشرفته تر نسبت به دیگر روش هاست.
معمولا در این روش نمونه گیری و احتمالات و همینطور دیگر نقطه نظرها مورد استفاده قرار می گیرند.
این روش معمولا برای مقیاس انبوه و در صنایع مورد استفاده قرار می گیرد.
روش انجام کار به این صورت است که بر اساس خواصی مشخص نمونه برداری و سپس موارد زیر انجام می شود:
1. با تعیین جمعیت آماری و انتخاب روش نمونه گیری، نمونه ها تحلیل شود به
صورتی که نمونه، شاهد کل جمعیت آماری باشد.
2. پیش بینی استفاده از نتایج تحلیل نمونه ها با استفاده از چارت های کنترل.
3. در قدم آخر اقدامات اصلاحی انجام شود.
با استفاده از چارت های کنترل نقاط انحراف و همینطور دلایل آن را به وضوح بیابند و اقدامات لازم را تعریف برای آن تعریف کنند.
آموزش کامل ۱۵ الگوی معروف نمودار شمعی در تحلیل تکنیکال
نمودارهای شمعی (Candlesticks) یکی از رایجترین ابزارهای تحلیل تکنیکال، برای بررسی الگوها و روندهای قیمتی است. این نمودارها قرنهاست که برای شناسایی و پیشبینی الگوهای قیمتی مورد استفاده معامله گران و سرمایهگذاران قرار میگیرد. در ادامه میتوانید با برخی از مهمترین و مشهورترین الگوهای نمودار شمعی آشنا شده و در تحلیل تکنیکال خود از آنها کمک بگیرید.
چگونه از الگوهای نمودار شمعی استفاده کنیم؟
در واقع الگوهای شمعی بیشماری وجود دارد که معامله گران میتوانند به کمک آنها، ناحیههای موردنظر خود را در یک نمودار شناسایی کرده و درباره آینده آن تصمیمگیری کنند. از این موارد میتوان برای معاملات روزانه، معاملات نوسان گیری (Swing) و حتی معاملات بلندمدت استفاده کرد. در حالی که برخی از الگوهای شمعی ممکن است نقطهنظر و دیدگاهی در مورد تعادل بین خریداران و فروشندگان ارائه دهند، برخی دیگر از این الگوها ممکن است نشاندهنده تغییر یا ادامه روند و یا عدم تصمیمگیری باشند.
باید توجه داشت که الگوهای شمعی تنها معیار و سیگنال خریدوفروش نیستند. در عوض از آنها به عنوان راهی برای بررسی ساختار بازار و یافتن نشانهای بالقوه از یک فرصت پیش رو استفاده میشود. به همین ترتیب، بررسی الگوها همیشه مفید است.چراکه نشانههای گستردهتر در فضای بازار و سایر عوامل بازار، میتواند در این الگوها نمود پیدا کند.
به طور خلاصه، مانند سایر ابزار تجزیهوتحلیل بازار، الگوهای شمعی نیز در ترکیب با دیگر روشها و تکنیکها، کاربرد دارند. این تکنیکها ممکن است شامل روش ویکوف (Wyckoff Method)، نظریه امواج الیوت و نظریه داو باشد. همچنین اندیکاتورهای تحلیل تکنیکال، مانند خطوط روند ، میانگین متحرک ، شاخص مقاومت نسبی (RSI) ، استوکاستیک RSI، باندهای بولینگر ، ابر ایچیموکو ، Parabolic SAR یا MACD نیز در این مسئله کاربرد دارند.
مشهورترین الگوهای نمودار شمعی
الف – الگوهای بازگشت صعودی
چکش (Hammer)
شکل این الگو، به صورت شمعی است که دم یا فتیله آن در سمت پایین تشکیلشده است و اندازه این فتیله حداقل دو برابر بدنه اصلی شمع است. تصویر این شمع به خوبی شکل چکش را تداعی میکند.
چکش نشان میدهد که اگرچه فشار فروش در این بخش زیاد بوده است، اما بازار گاوی یا صعودی قدرتمند ظاهرشده است و توانسته بر این حجم بالای فروش غلبه کند. بهطورکلی چکش را به عنوان نشانه تغییر بازار می دانند. چکش میتواند به رنگ قرمز یا سبز باشد، اما چکشهای سبز نشاندهنده قدرت بیشتر بازار گاوی از بازار خرسی است، در نتیجه میتوان نتیجه گرفت تمایل بازار به صعود قیمت است.
چکش وارونه
این الگو که به نام چکش معکوس نیز شناخته میشود، دقیقاً مانند الگو چکش است. اما فتیله بلند آن در قسمت بالای بدنه تشکیل میشود. درست مانند الگوی چکش، اندازه فتیله بالایی باید حداقل دو برابر خود بدنه شمع باشد.
یک چکش وارونه در کف روند نزولی رخ داده و میتواند نشاندهنده یک برگشت بالقوه به سمت بالا و تغییر جهت روند باشد. فتیله بالایی تشکیلشده در شمع نشان میدهد که اگرچه فروشندگان تلاش کردهاند قیمت نزدیک به قیمت شروع، بسته شود اما قیمت از مسیر حرکتی نزولی درآمده است. بهاینترتیب، چکش وارونه ممکن است نشاندهنده این باشد که خریداران بهزودی کنترل بازار را به دست میگیرند.
سه سرباز سفید
الگوی سه سرباز سفید از سه شمع سبز متوالی تشکیل میشود، هر یک از آنها در بدنه شمع قبلی باز میشوند و در سطحی بالاتر از حد شمع قبلی خود بسته میشوند.
به طور ایده آل، در این شمعها نباید فتیلههای بلند به سمت پایین تشکیل شود. در این صورت سه سرباز سفید به معنای فشار خرید مداوم و نهایتاً افزایش قیمت است. البته از اندازه شمعها و اندازه فتیلهها میتوان بازار را قضاوت کرد و پی بهاحتمال ادامه حرکت یا اصلاح احتمالی قیمت برد.
هارامی صعودی
الگوی هارامی صعودی، تشکیلشده از یک شمع قرمز بلند است که به دنبال آن یک شمع سبز کوچکتر تشکیل میشود و همچنین شمع سبز کاملاً در بدنه شمع قرمز جا میشود.
هارامی صعودی میتواند طی دو یا چند روز آشکار شود و این الگویی است که نشان میدهد نیروی فروش در حال کند شدن است و احتمالاً فروش بهزودی پایان یابد.
ب – الگوهای وارونه نزولی
مرد به دار آویخته (Hanging Man)
الگوی مرد دار آویخته تقریباً معادل نزولی الگوی چکش است. بهطورمعمول در انتهای یک روند صعودی شمعی با بدنهای کوچک در بالای شمع و فتیلهای بلند، به سمت پایین (شبیه واژه انگلیسی T) شکل میگیرد.
فتیله به سمت پایین نشاندهنده آن است که فروش زیادی در جریان بوده است، اما با این وجود خریداران موفق شدند کنترل قیمت را پس بگیرند و قیمت را بالاتر ببرند. باید در نظر داشت، پس از یک روند قیمتی صعودی طولانیمدت، فروش اینچنینی، ممکن است به عنوان هشداری مبنی بر اینکه خریداران بهزودی کنترل بازار را از دست میدهند و روند نزولی آغاز میشود؛ تلقی شود.
ستاره دنبالهدار
الگوی ستاره دنبالهدار نوعی از شمعها است که دارای یک فتیله بلند در قسمت بالایی و گاهی هم دارای یک فتیله کوچک در بخش پایین است. البته گاهی فتیله کوچک پایینی تشکیل نمیشود. بدنه شمع در اندازهای کوچک است و معمولاً در نزدیکی سطح پایینی شمع تشکیل میشود. ستاره دنبالهدار شکلی مشابه چکش وارونه دارد اما برخلاف چکش وارونه، در پایان یک روند صعودی تشکیل میشود.
این الگو نشان میدهد که بازار به بالاترین سطح رسیده است اما پسازآن فروشندگان کنترل را در دست گرفته و قیمت را به پایین نزول دادهاند. برخی از معامله گران ترجیح میدهند تا چند شمع بعدی هم برای تائید الگو تشکیل شود، سپس تغییر روند برایشان ثابتشده و بر اساس آن تصمیمگیری میکنند.
سه کلاغ سیاه (Three black crows)
الگوی سه کلاغ سیاه از سه شمع قرمز متوالی ساختهشده است که هر یک از آنها در راستای بدنه شمع قبلی باز یا آغاز میشوند و در سطحی پایینتر از سطح شمع قبلی بسته میشوند.
این الگو معادل نزولی سه سرباز سفید است. در حالت ایده آل، این شمعها نباید دارای فتیلههای بلند به سمت بالا باشند. از اندازه شمعها و طول فتیلهها میتوان برای قضاوت در مورد ادامه استفاده کرد و پی آشنایی با ۳ نوع اصلی الگوهای چارت بهاحتمال ادامه حرکت یا اصلاح احتمالی قیمت برد.
هارامی نزولی
هارامی نزولی یک شمع به رنگ سبز و بلند است و به دنبال آن یک شمع قرمز کوچکتر تشکیل میشود و همچنین شمع قرمز کاملاً در بدنه شمع سبز جا میشود.
هارامی نزولی میتواند طی دو یا چند روز آشکار شود و این الگویی است که نشان میدهد نیروی خرید در حال کند شدن است و معمولاً در پایان یک روند نزولی آشکار میشود.
پوشش ابر سیاه (Dark cloud cover)
الگوی پوشش ابر سیاه از یک شمع آشنایی با ۳ نوع اصلی الگوهای چارت قرمز تشکیلشده است که در بالای یک شمع سبز قبلی خود باز میشود اما این شمع، در زیر نقطه میانی شمع قبلی خود بسته میشود.
اغلب این الگو میتواند با حجم زیاد همراه بشود، که نشاندهنده آن است که حرکت ممکن است از روند صعودی به روند نزولی تغییر جهت دهد. معامله گران برای تائید این موضوع ممکن است منتظر شمع قرمز سوم در الگو شوند.
پ – الگوهای ادامهدار
الگو سهگانه صعودی(Rising three methods)
این الگو در یک روند صعودی اتفاق میافتد، جایی که سه شمع قرمز متوالی با بدنههایی کوچک در روند صعودی به دنبال یکدیگر در نمودار ظاهر میشوند. در حالتی ایده آل، شمعهای قرمز نباید محدوده شمع قبلی خود را نقض کنند.
ادامهدار بودن این روند با ظاهر شدن یک شمع سبز با بدنهای بلند تائید میشود، که نشاندهنده آن است که گاوها دوباره کنترل روند را در دست گرفته اند و روند صعودی ادامه دارد.
الگو سهگانه نزولی (Falling three methods)
این الگو نقطه عکس الگو سهگانه صعودی است و نشاندهنده آن است که ادامه حرکت به سوی روند نزولی است.
دوجی (Doji)
الگو دوجی زمانی تشکیل میشود که نقطه باز شدن و بسته شدن یک شمع یکسان باشد (یا بسیار نزدیک به یکدیگر باشد). قیمت میتواند به سمت بالا یا پایین نقطه باز شدن شمع حرکت کند اما در نهایت در نقطه باز شدن قیمت یا نزدیک آن بسته میشود. بهاینترتیب،از یک الگو دوجی میتوان بلاتکلیفی بین نیروهای خریدوفروش را مشاهده کرد.
در این الگو، بسته به جایی که خط(Line) باز شدن/بسته شدن شمع اتفاق میافتد ، میتوان دوجی را به شکلهای زیر تفسیر کرد:
۱- دوجی سنگ قبر(Gravestone Doji) :
شمع وارونه نزولی که از یک فتیله بلند در قسمت بالایی تشکیلشده و نقطه باز شدن و بسته شدن شمع نزدیک پایین شمع ظاهر میشود.
۲ – دوجی پا بلند (Long-legged Doji) :
شمع بلاتکلیف که دارای دو فتیله هم در قسمت پایین و هم در قسمت بالای شمع است و نقطه باز شدن و بسته شدن شمع هم نزدیک به نقطه میانی ظاهر میشود.
۳- دوجی سنجاقک (Dragonfly Doji) :
الگویی است که بسته به شرایط هم میتواند صعودی باشد و هم نزولی. این الگو از یک فتیله بلند به سمت پایین ساختهشده است و نقطه باز شدن و بسته شدن قیمت هم در نزدیکی سطح بالای شمع نمایان میشود.
طبق تعریف اولیه دوجی؛ نقطه باز و بسته شدن شمع باید دقیقاً یکسان باشد اما اگر این نقطه دقیقاً یکسان نباشد اما بسیار به هم نزدیک باشند چه؟ در این حالت با کندل اسپینینگ تاپ (spinning top) مواجهیم. ازآنجاییکه بازار رمزارزها میتواند بسیار بیثبات باشد ، یک دوجی دقیق خیلی نادر رخ میدهد. بهاینترتیب اغلب ازاسپینینگ تاپ به جای دوجی استفاده میشود.
سخن پایانی
حتی اگر قصد استفاده از الگوهای شمعی را نداشته باشید، آشنایی حداقلی با آنها برای هر معاملهگری ضروری است.
علاوه بر این استفاده بدون هیچ ابزار دیگری از آنها نیز بههیچعنوان توصیه نمیشود. آنها میتوانند بدون شک برای تجزیهوتحلیل بازارها مفید باشند، اما فراموش نکنید که بر اساس هیچ اصول علمی یا قانونیای نبوده و تنها نقش بصری نیروهای خریدوفروش هستند.
اینفوگرافیک چیست؟ با انواع اینفوگرافی ها آشنا شوید
اینفوگرافیک یا گرافیک اطلاع رسان، تکنیکی است که با ترکیب گرافیک (graphics) و اطلاعات (information) به ارائه اطلاعات به صورت دیداری میپردازد. هدف یا کاربرد اینفوگرافیک این است که اطلاعات را در کوتاهترین زمان و با روشی موثر به مخاطب انتقال بدهد. این هدف با استفاده از انواع المانهای گرافیکی مانند آیکونها، تصاویر، نمودار و تلفیق آنها با اطلاعات (آمار، اطلاعات جغرافیایی، …) امکان پذیر میشود.
در این مقاله از آکادمی اینفوگرام به معرفی اینفوگرافیک و انواع آن میپردازیم.
فهرست مطالب
چرا از اینفوگرافیک استفاده میکنیم؟
راههای مختلفی برای انتقال اطلاعات و داده وجود دارد. با این وجود چرا باید از اینفوگرافی (گرافیک اطلاع رسان – اطلاع نگاشت) استفاده کنیم؟ برای پاسخ به این سوال، به این فکر کنید که چه زمانی مقدار بیشتر اطلاعات را به خاطر سپردهاید؟ زمانی که اطلاعات را به صورت متنهای طولانی و بدون تصویر خواندهاید یا هنگامی که آنها را به صورت پوستر یا روزنامه دیواری مشاهده کردهاید؟
۹۰٪ اطلاعاتی که مغز ما دریافت میکند اطلاعات دیداری (بصری) است. به همین دلیل است که تصاویر را خیلی بهتر از نوشتهها به یاد میآوریم. همین موضوع است که استفاده از اینفوگرافی را جذاب میکند. اینفوگرافیک ها راهی هستند برای این که مطمئن باشید مخاطبتان اطلاعات را به یاد خواهد سپرد.
علاوه بر این، اینفوگرافی ها به دلیل استفاده از المانهای بصری، جذاب هستند و افراد با دیدن آنها از دور ناخودآگاه برای مطالعه بیشتر اینفوگرافیک وسوسه میشوند.
تاریخچه اینفوگرافیک
تاریخ بصریسازی دادهها بسیار قدیمی است و به ابتدای تاریخ بشر برمیگردد. نقاشیهای انسانهای غارنشین بر دیواره غارها و هیروگلیفهای مصری با قدمتی در حدود ۳۰۰۰۰ سال، از اولین نمونههای اینفوگرافیک شناختهشده در جهان محسوب میشوند. نمونه آشنای دیگری از اینفوگرافیک، نقشههای جغرافیایی هستند که قدمتی ۸۰۰۰ ساله دارند.
با این حال تا قرن ۱۹ میلادی، بصریسازی دادههایی به غیر از دادههای جغرافیایی بسیار محدود بود. یک دلیل مهم این اتفاق، به محدود بودن میزان اطلاعات قابل نمایش برمیگشت. از قرن ۱۹ کشورها به انتشار اطلاعات مختلفی درباره اقتصاد، آب و هوا، جمعیت و … روی آوردند.
اینفوگرافیک اطلاعرسان/ لیست
هر زمان که بخواهید داستان یا هر اتفاقی را تعریف کنید که طی گذر زمان اتفاق افتاده و حالت وقایعنگاری (کرونولوژی) دارد، اینفوگرافیک تایملاینی بهترین گزینه برای کار شما محسوب میشود. تایملاینها را میتوانید تقریبا برای همه چیز از تعریف داستان یک برند گرفته تا زندگی یک شخص یا محصول به کار ببرید. این قالب زمانی بیشترین تاثیر را خواهد داشت که نقاط مهم زمانی را به همراه آیکون و طالاعات مرتبط روی آن مشخص کنید.
اینفوگرافیک چرا چگونه
به این نوع قالب، قالب درختی هم گفته میشود. برای زمانی کاربرد دارد که بخواهید فلوچارتی شامل دستورات و تصمیمها و نتایج هرکدام را در یک نگاه به مخاطب نشان بدهید.
اینفوگرافیک مقایسهای
یکی از بهترین راهها برای مقایسه ترندها و آمار در چند منطقه/شهر/کشور مختلف استفاده از این قالب است. این نوع اینفوگرافیک معمولا به صورت نقشهای از کشور/منطقه طراحی میشود و آمار مربوط به هر منطقه با کد رنگی که راهنمای آن در کنار نقشه قرار دارد مشخص میشود و برای مقایسه آمار جهانی و کشوری که دانستن آنها برای عموم مهم است (مانند میزان درآمد، میزان آلودگی هوا، …) مناسب است.
عکس-گرافیک
این نوع اینفوگرافیک (که آن را میتوان یک چارت تکی هم به حساب آورد) اطلاعات را براساس سطح آنها دستهبندی میکند و نمایش میدهد. این سطح میتواند سطح اهمیت اطلاعات، سطح دشواری/آسانی، سطح سنی و … باشد. یک راه معمول برای طراحی اینفوگرافیک سلسله مراتبی استفاده از شکل هرم است. قالب سلسلسه مراتبی برای مقایسه سطوح و مراحل مختلف و نشان دادن رابطه میان آنها کاربرد دارد.
نمودار تکی
اینفوگرافیک آناتومیک (تشریحی)
۸ مولفه مهم برای طراحی اینفوگرافیک
۱- تعادل متن و تصویر
فونت ها و تایپوگرافی بخش مهمی از طراحی اینفوگرافیک هستند. آنها هم به متن و هم به محتوای تصویری روح میدهند. قواعد استفاده از فونت ساده است: بیش از ۲ یا ۳ فونت را برای طراحی به کار نبرید. بهترین کار این است که از ۲ فونت با مدل بولد استفاده کنید تا بیشترین تاثیر دیداری را ایجاد کرده باشید. حواستان باشد که رنگ متن با زمینه و سایر المانهای تصویری مانند آیکونها و تصویرسازیها در تعادل باشد.
۳- حاشیه ها
فاصله نیز مانند حاشیه نقش مهمی در طراحی دارد. فاصله، عامل مهمی در اصول نظریه گشتالت محسوب میشود. نظریه گشتالت مجموعهای از اصول طراحی است که تاثیر عوامل مختلف بر طراحی را نشان میدهد. فاصلههایی که در قسمتهای مختلف اینفوگرافیک به کار می برید باید متناسب با هم باشند. به عنوان مثال فاصله بین تمام تیترها و زیرتیترها باید یکی باشد. این تناسب را برای تمام المانهایی که در طراحی تکرار میشوند مانند آیکونها، متن و تصاویر به کار ببرید.
۵- رنگ
بعضی از قسمتهای اینفوگرافیک نسبت به سایر قسمتها اهمیت بیشتری دارند و این اهمیت باید در طراحی اینفوگرافیک به مخاطب نشان داده شوند. عنوان اینفوگرافیک مهمترین قسمت آن است و به همین دلیل بزرگترین فونت برای آن در نظر گرفته میشود. اگر بعد از عنوان اینفوگرافیک میخواهید یک هدر یا زیرتیتر قرار بدهید باید برای آن یک فونت کوچکتر و متوسط قرار بدهید. اگر از زیرتیترها و آیکونها استفاده میکنید حواستان باشد که اندازه آنها از متن اصلی بزرگتر باشد و در عین حال آنقدری بزرگ نباشد که تیتر و مطالب اصلیتر را تحتالشعاع قرار بدهد. اندازه هر المان را با توجه به میزان اهمیت آن تعیین کنید. سلسله مراتب دیداری را رعایت کنید و دقت کنید اجزای با اهمیت یکسان، هم اندازه باشند.
۷- اندازه
این موضوع در طراحی عکس- گرافیکها بسیار مهم است. اگر از عکس استفاده میکنید دقت داشته باشید که کیفیت آنها پایین نباشد، پیکسل پیکسل و تار نشوند و بیش از حد در یک جهت کش نیایند. اگر از عکس به جای آیکون استفاده میکنید لازم نیست کل یک عکس را به کار ببرید. میتوانید بخشهای مهم آن را با حاشیههای مثلا دایرهای شکل کراپ کنید و داخل قاب اینفوگرافیک قرار بدهید. حواستان به کپی رایت عکسها هم باشد! اگر عکسها را به عنوان بک گراند استفاده میکنید از خاصیت ترنسپرنت یا کشیدن یک لایه رنگی روی آنها استفاده کنید تا عنوان و سایر متنهای اینفوگرافیک روی عکس خواناتر باشند. همچنین دقت کنید که اگر عکسی را ترنسپرنت میکنید در واقع از اهمیت آن در سلسله مراتب دیداری کم میکنید. استفاده از عکس بی کیفیت یکی از خطاهای اینفوگرافیک است. در مقاله نمونه اینفوگرافیک ۱۱ خطا را بیان کردهایم که میتوانید مطالعه کنید.
۸- آیکون ها
اینفوگرافیکی که مشاهده میکنید، گزارش سالانه تجارت الکترونیکی در ایران است. در این اینفوگرافیک از رنگها و نمودارهای مختلفی برای ارائه آمار دقیق به مخاطبان استفاده شده است. همانطور که در این مقاله هم اشاره شد، انتخاب بستر مناسب برای روایت در طراحی اینفوگرافیک بسیار مهم است. در این طرح اطلاعات به صورت طبقهبندی و با روایتی مشخص به مخاطبان ارائه شده.
وضعیت بیماری دیابت
در این اینفوگرافیک نیز تمام اطلاعاتی که درباره قوچ و میش لارستان مورد نیاز است، به خوبی برای مخاطبان طبقهبندی شده است. این اینفوگرافیک از نوع عکس-گرافیک است که در همین مقاله درباره آن صحبت کردیم.
اینفوگرافیک رابطه محیط زیست و حمل و نقل
در اینفوگرافیک رابطه حمل و نقل و محیط زیست، به زبان ساده و با تلفیق مقداری گیمیفیکشن، مخاطبان نتیجه انتخاب الگوی غلط برای استفاده از وسیلههای حمل و نقل را به وضوح مشاهده میکنند.
سوالات متداول درباره اینفوگرافیک
اینفوگرافیک چیست؟
اینفوگرافیک نوعی محتوای جذاب است که از ترکیب تصویر و اطلاعات ساخته میشود و میتواند اطلاعات را به راحتی منتقل کند. در اینفوگرافیک انواع محتوای بصری نظیر عکس، نمودار و … استفاده میشود به همین دلیل این نوع محتوا برای اطلاع رسانی بسیار مناسب است.
چگونه اینفوگرافیک بسازیم؟
ابتدا هدف خود را تعیین کنید و سعی کنید مخاطبانتان را بشناسید. سپس اطلاعاتی که میخواهید به مخاطبانتان انتقال دهید را مشخص کنید. در انتها با انتخاب قالب مناسب اینفوگرافیک و نرم افزار مناسب کار خود را شروع کنید.
بهترین نرم افزارهای ساخت اینفوگرافیک کدامند؟
Canva ، Piktochart، Easel.ly، Visme، infogram، venngage، adobe spark از بهترین نرم افزارها و پلتفرمهای ساخت اینفوگرافیک آشنایی با ۳ نوع اصلی الگوهای چارت هستند برخی از این نرم افزارها آنلاین و برخی آفلاین هستند. به علاوه بعضی از نرم افزارهای معرفی شده تنها برای متخصصان بوده و برخی دیگر را مبتدیان نیز میتوانند استفاده کنند.
اینفوگرافیک چند نوع دارد؟
اینفوگرافیک با توجه به نوع اطلاعات و فرمت به چند نوع تقسیم میشود. اینفوگرافیک اطلاع رسانی، تایم لاین، فلوچارت، اینفوگرافیک مقایسهای، اینفوگرافیک بر اساس موقعیت، اینفوگرافیک مراتبی، نموداری، تصویری، تشریحی و … از مهمترین انواع اینفوگرافیک هستند.
معرفی دیزاین پترنهای رایج و کاربردی در برنامهنویسی
آیا تا به حال به این قضیه فکر کردهاید که اساساً کاربرد Design Pattern در کدنویسی چیست و چرا گفته میشود که استفادهٔ صحیح و اصولی از دیزاین پترنها در توسعهٔ نرمافزارهای حرفهای بسیار تأثیرگذار است و همچنین چرا در آگهیهای استخدام برنامهنویس آشنایی با آنها از اهمیت بسزایی برخوردار است؟ در این مقاله دقیقاً پاسخ به این دست سؤالات است به طوری که چندین مثال نیز در زبان PHP در ارتباط با نحوهٔ بهکارگیری مهمترین دیزاین پترنها ارائه خواهیم کرد تا به خوبی متوجه شوید چه زمانی و به چه شکلی باید از آنها استفاده نمایید.
Design Pattern (الگوی طراحی) چیست؟
دیزاین پترنها راهحلهای آزموده و بهینهای در مسائل مربوط به توسعهٔ نرمافزار هستند که همه روزه به آنها برخورد میکنیم. دیزاین پترن در واقع فقط یک کلاس یا معماری نیست که به سادگی آن را به سیستم مورد نظرمان ایمپورت کرده و نتیجهٔ دلخواهمان را کسب کنیم، بلکه مفهومی بسیار فراتر از اینها است (برای کسب اطلاعات بیشتر، میتوانید به دورهٔ آشنایی با الگوهای طراحی مراجعه نمایید.)
در یک کلام، دیزاین پترن الگویی است که باید در موقعیت مناسب خود مورد استفاده قرار بگیرد تا بهترین نتیجه را در توسعهٔ نرمافزار در اختیار دولوپر قرار دهد. در عین حال توجه داشته باشیم که مفهوم دیزاین پترن اصلاً وابسته به زبان برنامهنویسی خاصی نیست و یک دیزاین پترن خوب باید قابلیت پیادهسازی در بیشتر زبانها (اگر نگوییم همه) را داشته باشد که این مسئله ارتباط تنگاتنگی با ویژگیهای زبان مورد استفاده نیز دارا است.
آشنایی با انواع دیزاین پترنها
مهمتر از همه اینکه هر دیزاین پترنی را میتوان به عنوان شمشیر دولبهای در نظر گرفت که اگر در جای نادرست به کار رود، میتواند فجایع و مشکلات بیشماری را هم برای نرمافزار و هم دولوپرها بهوجود آورد؛ اما اگر در موقعیت و زمان مناسب خود مورد استفاده قرار بگیرد، میتواند در نقش ناجی نیز عمل نماید. دیزاین پترنها معمولاً در سه گروه اصلی دستهبندی میشوند که عبارتند از:
- Structural (ساختاری)
- Creational (تکوینی)
- Behavioral (رفتاری)
الگوهای طراحی ساختاری به طور معمول دربارهٔ ارتباط بین یکسری Entity (موجودیت) هستند که باعث میشوند کار کردن این اِنتیتیها با یکدیگر آسانتر شود. الگوهای تکوینی معمولاً ارائهدهندهٔ یکسری مکانیزمهای نمونهسازی هستند که باعث میشوند ساخت آبجکتهای مناسب در موقعیتهای مختلف آسانتر گردد و در نهایت پترنهای رفتاری به منظور برقراری ارتباط بین اِنتیتیها به کار میروند و باعث میشوند ارتباط اِنتیتیها با یکدیگر، انعطافپذیرتر و سادهتر گردد.
چرا باید از دیزاین پترنها استفاده کنیم؟
دیزاین پترنها در اصل راهحلهای حسابشدهای برای مشکلات خاصی در پروسهٔ توسعهٔ نرمافزار هستند که پیش از این بسیاری از دولوپرها با چنین مشکلاتی دست و پنجه نرم کردهاند و یکسری سولوشنهای بهینهای را برای علاج کار خود برگزیدهاند. اگر به این مشکلات حلشده برخورد کنید، منطق حکم میکند که به استفاده از راهحلهای موجود بپردازید تا اینکه به دنبال اثبات راهحل جدیدی بوده و زمان ارزشمند توسعهٔ نرمافزار را هدر دهید!
برای روشنتر شدن کاربرد الگوهای طراحی، یک مثال از دنیای واقعی در ارتباط با دیزاین پترن میزنیم. فرض کنید مسئولیت ارائهٔ سولوشنی برای ادغام دو کلاس مختلف که دو عملکرد کاملاً مجزا از یکدیگر دارند را به شما محول کردهاند. این کلاسها در جاهای مختلفی در سیستم به کار رفتهاند؛ بنابراین حذف این دو کلاس یا تغییر کدهای موجود را باید از سرتان بیرون کنید چرا که اصلاً کار سادهای نخواهد بود. به علاوه اینکه با تغییر کد فعلی باید کدهای جدید را دوباره تست کنید چرا که این نوع تغییرات، در سیستمی که به کامپوننتهای مختلفی وابسته است، در اکثر مواقع باعث ایجاد باگهای جدیدی میشود. به جای این کار، به راحتی قادر خواهید بود تا نوعی از Strategy Pattern و Adapter Pattern را پیادهسازی نمایید که به راحتی میتوانند اینگونه مسائل را حلوفصل کنند:
همانطور که در کد فوق مشاهده میشود، متدی ساختهایم تحت عنوان operation1 که بسته به نوع پارامتر ورودی، نیاز ما را به سادگی هَندل میکند. حال بیایید نگاهی دقیقتر به رایجترین دیزاین پترنها انداخته که بررسی خود را با Strategy Pattern شروع خواهیم کرد.
Strategy Pattern
این الگوی طراحی در واقع نوعی از دیزاین پترنهای اصطلاحاً Behavioral است که به شما اجازه میدهد بسته به شرایط خاصی که در حین اجرای برنامه برایش رخ میدهد، سولوشنهای مختلفی را انتخاب نمایید. به عبارت دیگر، آشنایی با ۳ نوع اصلی الگوهای چارت دو الگوریتم مختلف را داخل دو کلاس مجزا از یکدیگر به اصطلاح Encapsulate کرده و هنگام اجرای برنامه، انتخاب خواهد شد که از کدام استراتژی استفاده گردد. در مثال بالا، استراتژیای که مورد استفاده قرار میگیرد با توجه به متغیر context$ است که در زمان معرفی کلاس مورد نظر ایجاد شده است. به عبارت دیگر، اگر کلاس اول را مد نظر قرار دهید، این متغیر نیز از class_one استفاده میکند و بالعکس.
در پاسخ به این سؤال که چه مواقعی میتوان از Strategy Pattern استفاده کرد، بایستی گفت فرض کنید کلاسی دارید که میتواند رکورد کاربر فعلی را آپدیت کرده یا کاربر جدیدی را ایجاد نماید. این کلاس در هر دو حالت، نیازمند به ورودی یکسانی منجمله نام، آدرس، شمارهٔ همراه و غیره است اما بسته به موقعیت مورد نظر، باید از فانکشنهای مختلفی برای بهروزرسانی یا ایجاد کاربر استفاده کند.
در سادهترین حالت ممکن، شما میتوانید از دستور شرطی if-else استفاده کنید؛ اما اگر خواستید این کلاس را در جای دیگری به کار ببرید چهطور؟ در چنین مواقعی باید همین if-else را در ماژول جدید نیز بازنویسی کنید که کاری منطقی به نظر نمیرسد. آیا اگر این امکان فراهم شود که فقط نام کلاس را به کار ببرید و بقیه کار را به آن بسپارید، راحتتر نخواهید بود؟ به عنوان مثال داریم:
استراتژی پترن در حالت عادی شامل کپسوله کردن الگوریتمها در کلاس دیگری میشود اما در این مورد، استفاده از کلاس دیگر بیفایده است. به خاطر داشته باشید که نیازی نیست همیشه از ساختار پیشفرض پیروی کنید؛ به طوری که تا وقتی مفهوم مورد نظر دیزاین پترن رعایت شده و مشکل حل شود، میتوانید طبق نیازتان دست به کاستومایز کردن دیزاین پترن مد نظر بزنید.
Adapter Pattern
این الگوی طراحی در اصل یک دیزاین پترن از نوع اصطلاحاً Structural است که به شما این امکان را میدهد تا یک کلاس را با اینترفیس متفاوتی سازگار کنید که این کار امکان استفاده از کلاس توسط سیستمی که از متدهای فراخوانی مختلفی استفاده میکند را امکانپذیر میسازد. این الگو همچنین به شما امکان تغییر برخی از ورودیهایی را میدهد که از آبجکت ساختهشده از روی کلاس دریافت شده که همین مسئله باعث میشود بتوانید آنها را به چیزی که با فانکشنهای این پترن نیز همخوانی داشته باشد تبدیل نمایید.
Wrapper اصطلاحی است که به مفهوم آداپتر کلاس اشاره دارد؛ به عبارت دیگر، به دولوپر این اجازه داده میشود تا تَسکهایی را در داخل یک کلاس اصطلاحاً Wrap (بستهبندی) کند و آنها را در موقعیتهای مناسبی مورد استفاده قرار دهد. به عنوان مثال، به جای فراخوانی کلاسهای متفاوت و صدا زدن فانکشنهای آنها به صورت تکبهتک، میتوانید تمامی این متدها را در یک متد واحد توسط کلاس آداپتر اصطلاحاً Encapsulate کنید که این کار نه تنها امکان استفادهٔ مجدد از این قابلیتها را به هر صورتی که بخواهید به شما میدهد، بلکه از بازنویسی کدهای مربوط به یک تَسک خاص که قصد استفاده از آن در ماژول دیگری دارید نیز جلوگیری میکند. اگر بخواهیم بدون استفاده از آداپتر پترن کدنویسی کنیم، کدی همچون زیر خواهیم داشت:
اگر بخواهیم این کار را در جای دیگری نیز تکرار کنیم یا از این کد در پروژهٔ دیگری استفاده کنیم، باید دست به کار شده و تمام کدها را بازنویسی کنیم؛ لذا دقیقاً برعکس حالت قبل و با استفاده از آداپتر پترن، میتوانیم کد بهتری بنویسیم:
در این موارد، ما یک کلاس به اصطلاح Wrapper داریم که قرار است حوزهای برای کلاس Account ما باشد:
بدین ترتیب میتوانید از کلاس Account هر وقت که بخواهید استفاده کنید. علاوه بر این، میتوانید کلاسهای دیگری را نیز درون کلاس اصلی خود جای داده یا بهتر بگوییم Wrap کنید.
Factory Pattern
این الگوی طراحی از نوع اصطلاحاً Creational است که معنای آن دقیقاً همان چیزی است که نوشته میشود؛ یعنی کلاسی است که به عنوان کارخانهٔ ساخت آبجکتها عمل مینماید. هدف اصلی این الگوی طراحی Encapsulate کردن روال ساخت آبجکت است به صورتی که بتوانید چندین کلاس مختلف را درون یک فانکشن واحد پوشش دهید. با فراهم کردن ورودی مناسب به متدی از جنس فکتوری، میتوان انتظار داشت که آبجکت صحیحی را برگرداند.
بهترین زمان برای استفاده از این الگوی طراحی وقتی است که چندین نوع متفاوت از یک موجودیت (Entity) دارید. فرض کنید یک کلاس تحت عنوان Button (دکمه) دارید و این در حالی است که این کلاس انواع مختلفی دارد مثل ImageButton یا InputButton یا FlashButton. حال بسته به موقعیتهای مختلف ممکن است بخواهید دکمههای مختلفی را ایجاد کنید و اینجا است که میتوانید از یک فکتوری (کارخانه) بخواهید که این کار زمانبَر را برایتان انجام دهد! برای روشنتر شدن این مسئله، مثالی میزنیم بدین شکل که فرض کنید سه کلاس به صورت زیر داریم:
حال میتوانیم کلاس فکتوری خود را به صورت زیر ایجاد کنیم:
از این پس میتوانیم از این کلاس به صورت زیر استفاده نماییم:
خروجی اسکریپت فوق کد HTML برای ایجاد انواع مختلفی از دکمههای مورد نظر است. در واقع، با استفاده از این روش میتوانید برحسب موقعیت فعلی، دکمهای که قصد دارید بسازید را مشخص کنید.
Decorator Pattern
این الگوی طراحی از نوع اصطلاحاً Structural است که در حین اجرای برنامه بسته به موقعیت به ما امکان اضافه کردن رفتارهای جدیدی به یک آبجکت را میدهد. به طور کلی، هدف این الگوری طراحی آن است که بتوانید فانکشنهای توسعه داده شده را برای یک کاربرد خاص به کار ببرید و در عین حال بتوانید از کلاس اصلی یک Instance (نمونه) بسازید به طوری که فانکشنهای جدید را به همراه نداشته باشد.
همچنین امکان ترکیب چندین دکوراتور در یک Instance نیز وجود دارد که باعث میشود برای تغییر هر یک از آنها نیاز به درگیری با یک دکوراتور نداشته باشید و به طور کلی میتوان گفت که این پترن جایگزینی برای Subclassing است (Subclassing اشاره دارد به ساخت کلاسی که عملکرد خود را از یک کلاس والد به ارث می برد.) برخلاف Subclassing که رفتار کلاس فرزند را در هنگام کامپایل به برنامه اضافه میکند، استفاده از دکوراتور امکان افزایش رفتار جدید را در صورتی که در موقعیت خاصی به آن نیاز شد و حین اجرای برنامه به دولوپر میدهد.
بهترین موقعیت برای استفاده از دکوراتور پترن وقتی است که شما یک Entity دارید به طوری که تنها اگر موقعیت ایجاب کند، نیاز به تعریف رفتار جدید خواهد بود. برای مثال فرض کنید یک لینک HTML مثل دکمهٔ خروج (Logout) دارید که میخواهید بسته به صفحهای که در آن هستید، کارهایی با کمی تفاوت با این لینک انجام دهید که در این مورد به سادگی میتوانید از دکوراتور پترن استفاده کنید بدین صورت که ابتدا دکوراتورهای مختلفی که نیاز دارید را به صورت زیر تعریف کنید:
- اگر در صفحهٔ اصلی (Homepage) هستیم و لاگین کردهایم، این لینک داخل تگ قرار بگیرد.
- اگر در صفحهٔ متفاوتی هستیم و لاگین کردهایم، زیر این لینک خط کشیده شود.
- اگر لاگین کردهایم، این لینک در تگ قرار بگیرد.
حال که دربارهٔ دکوراتورهایمان تصمیمگیری کردیم، میتوانیم آنها را به کد تبدیل کنیم:
در ادامه، میتوانیم به روش زیر از آنها استفاده کنیم:
مشاهده میکنید که اگر نیاز داشته باشیم میتوانیم چند دکوراتور را با هم ترکیب کنیم؛ از آنجا که تمامی دکوراتورها از فانکشنی اصطلاحاً Magic به نام call__ استفاده میکنند، میتوانیم همچنان متدهای فانکشن اصلی را فراخوانی کنیم. اگر فرض کنیم که در حال حاضر در صفحهٔ اصلی هستیم، خروجی HTML به صورت زیر خواهد بود:
Singleton Pattern
دیزاین پترن سینگلتون نوعی از دیزاین پترنهای اصطلاحاً Creational است که وظیفهٔ آن اطمینان حاصل کردن از این است که شما یک Instance (نمونه) واحد از کلاس خاصی را در طول اجرای برنامه خواهید داشت و یک مرکز دسترسی سراسری را به این آبجکت فراهم میکند.
این سیاست، تنظیم سراسری به منظور هماهنگی با آبجکتهای دیگری که از این آبجکت سینگلتونی استفاده میکنند را نیز آسان مینماید، چرا که این مدل آبجکتها برای هر چیزی که آنها را فراخوانی کند یکسان هستند و اگر میخواهید یک Instance خاص را از یک کلاس به کلاس دیگری بفرستید، با خیال راحت میتوانید از سینگلتون پترن استفاده نمایید.
تصور کنید که یک کلاس Session ایجاد کردهاید که آرایهٔ سراسری SESSION_$ را شبیهسازی میکند. از آنجا که این کلاس باید فقطوفقط یک بار فراخوانی شود، میتوانیم به صورت زیر از یک سینگلتون پترن استفاده کنیم:
بدین ترتیب میتوانیم به نمونهٔ سِشِن مورد نظرمان در جاهای مختلفی از کد و حتی در کلاسهای دیگر دسترسی داشته باشیم به طوری که این دیتا در سرتاسر فراخوانیهای متد ()getInstance کاملاً یکسان خواهد بود.
نتیجهگیری
دیزاین پترنهای بسیار زیادی برای مطالعه باقی مانده و این در حالی است که در این مقاله تنها به برخی از مهمترینها اشاره کردیم ولی اگر در مورد دیزاین پترنها کنجکاو شدهاید، صفحهٔ ویکیپدیای دیزاین پترنها اطلاعات خوبی را در اختیارتان قرار میدهد و همچنین برای کسب اطلاعات بیشتر میتوانید کتاب Design Patterns: Elements of Reusable Object-Oriented Software را تهیه کنید که به عنوان یکی از بهترین کتابها در زمینهٔ دیزاین پترنها شناخته شده است.
نکتهٔ پایانی هم اینکه وقتی میخواهید از دیزاین پترنی استفاده کنید، همیشه ابتدا مطمئن شوید که قصد دارید مسألهٔ مناسب آن را حل کنید. در حقیقت، همانطور که در ابتدای مقاله بیان شد، این دیزاین پترنها مانند شمشیر دولبهای هستند که اگر در جای نامناسب خود به کار گرفته شوند، ۱۰۰٪ کارتان را خرابتر خواهند کرد اما اگر بتوانید آنها را به طور صحیح پیادهسازی کنید، دیگر چشمپوشی از آنها کار آسانی نخواهد بود و تسلط به آنها چیزی است که میتواند یک دولوپر عادی را به یک دولوپر تراز اول و حرفهای مبدل سازد.
دیدگاه شما