اخبار، مطالب و رویدادهای مرتبط با توسعه نرم افزار رادکام

الگوی Strategy

الگوی Strategy یکی از الگوهای رفتاری می باشد. این الگو شامل مجموعه ای از الگوریتم ها  می باشد که برای یک عمل خاص مورد استفاده قرار می گیرد و هر کدام از آن ها نتایج یکسانی خواهد داشت. هر الگوریتم به صورت جداگانه در کلاسی پیاده سازی شده و کپسوله می شود که این امر امکان تعویض الگوریتم های مختلف را به ما خواهد داد. با استفاده از الگوی Strategy امکان تغییر دادن الگوریتم هنگام استفاده از آن ها و در زمان اجرا وجود خواهد داشت.

نوشته شده در برنامه نویسی
نوشته شده در برنامه نویسی
کلیدواژه ها: الگو طراحی نرم افزار ، Design Pattern ، Observer

 الگوی Memento

الگوی Memento یکی از الگوهای رفتاری می باشد. این الگو برای ذخیره وضعیت اشیا و بازگشت به وضعیت قبلی یا بعدی به کار برده می شود. بنابراین می توان برای پیاده سازی Undo و Redo از این الگو استفاده نمود. برای مثال در بازی های کامپیوتری گاهی ممکن است تا مرحله ای پیش رفته و بخواهیم که وضعیت موجود تا آن مرحله را ذخیره کنیم تا در مراجعه بعدی نیازی به شروع از ابتدا نداشته باشیم، در برخی محاسبات و تراکنش های سنگین نیز به دلیل زمان بر و هزینه زیاد ممکن است نیاز به ذخیره تا مرحله خاصی وجود داشته باشد. در این موارد می توان از الگوی Memento استفاده نمود. ذخیره اطلاعات توسط این الگو بسته به نیاز می تواند در حافظه اصلی و یا حافظه های جانبی مثل فایل و... انجام شود و به همین دلیل می تواند هزینه بر باشد. نام دیگر این الگو Token می باشد و به دلیل ذخیره و نگهداری وضعیت ها به Memento به معنی یادداشت یا یادگاری نامگذاری شده است.

نوشته شده در برنامه نویسی
کلیدواژه ها: الگو طراحی نرم افزار ، Design Pattern ، Memento

 الگوی Command

الگوی Command یکی از الگوهای رفتاری می باشد. این الگو برای ارتباط بین اشیا به کار برده می شود. به صورتی که درخواست ها در یک شی سازمان دهی می شوند. این الگو کار را برای کنترل های دستوری راحت تر می کند. الگوی Command یک الگوی رفتاری است. همان طور که گفته شد الگوهای رفتاری جهت ارتباط اشیا با یکدیگر استفاده می شوند. به این صورت که تقاضاها در این نوع الگو در یک شی سازمان دهی می شوند و به همین دلیل می توان آن ها را به راحتی در فعالیت ها استفاده نمود و سازمان دهی و کنترل دستورات آسان تر خواهد شد.

نوشته شده در برنامه نویسی
کلیدواژه ها: الگو طراحی نرم افزار ، Design Pattern ، Command

در مهندسی و طراحی نرم افزار با مسائل و چالش های مختلفی مواجه می شویم که تکرار پذیر می باشند و ممکن است در پروژه های مختلف بارها با چنین مشکلی مواجه شویم. به عبارت دیگر این مشکلات عمومی بوده و می توان آن ها را به مسائل مختلفی تعمیم داد. لذا در چنین مواردی می توان با یافتن راه حل عمومی و تعمیم آن به مسائل مختلف مشکل مورد نظر را مرتفع نمود.

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

نوشته شده در برنامه نویسی
کلیدواژه ها: الگو طراحی نرم افزار ، Design Pattern

 در مقاله قبل در مورد Docker توضیحاتی ارائه شد. اما شاید برای شما این سوال پیش آمده باشد کاری که Docker انجام می دهد توسط VMها یا ماشین های مجازی نیز بر روی Serverها قابل انجام است و در این صورت چه لزومی دارد که ما از این تکنولوژی استفاده نماییم؟

در این مقاله  تفاوت های Docker و VMها معرفی شده و مزیت های استفاده از تکنولوژی Docker ارائه خواهد شد.

کلیدواژه ها: Docker VS VM ، تفاوت داکر و ماشین مجازی

 معرفی Docker

هر چند که ایده اولیه Docker در سال های قبل نیز وجود داشته و شرکت های مختلفی روی آن کار می کردند اما به صورت رسمی در سال 2014 توسط آقای Salomon Hykes شکل گرفته و ارائه شده است. هدف او از ارائه این سیستم این بود که برنامه نویسان و ادمین های سیستم تعامل راحت تری با مفهوم Container داشته باشند و برنامه ها خیلی راحت تر روی محیط عملیاتی و سرورها اجرا شوند. چرا که یکی از چالش های بزرگ برنامه نویسان این است که برنامه را در یک بستر خاص توسعه می دهند اما در محیط عملیاتی، کلی دردسر برای این که چطور تنظیمات آن ها را انجام دهند وجود دارد و معمولا مدیران سیستم کلی درد سر می کشند تا نرم افزار شما را راه اندازی نمایند و در برخی موارد حتی خود برنامه نویس باید وارد شده و تنظیمات لازم را انجام دهد تا آن را راه اندازی نماید. مسئله ای که وجود دارد این است که هر نرم افزاری نیازمندی های مخصوص خود را داشته و ممکن است نیازمندی های آن ها متفاوت از یکدیگر باشند.

کلیدواژه ها: Docker ، داکر ، Container ، کانتینر ، Docker Repository