توسعه نرم افزار رادکام

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


 Observer Pattern Diagram

الگوی Observer

الگوی Observer یکی از الگوهای رفتاری می باشد. همان طور که از نام این الگو مشخص است، در این الگو برخی اشیا عملکرد شی خاصی را مشاهده یا رصد می کنند و هر گونه تغییر در وضعیت شی مورد نظر بر روی اشیا ناظر تاثیر گذار خواهد بود. به این ترتیب وابستگی بین اشیا ناظر و شی هدف وجود دارد و نیاز است که همه اشیا ناظر از هر گونه تغییر حالت شی هدف اطلاع پیدا کنند. یکی از راه حل هایی که برای این سناریو وجود دارد استفاده از حلقه For می باشد. اما این راه حل هزینه بر بوده و کارایی را کاهش می دهد. لذا در چنین مواردی استفاده از الگوی Observer بسیار کمک کننده خواهد بود. این الگوی طراحی بسیار کاربردی می باشد و یکی از مهمترین بخش های معماری MVC محسوب می شود.


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern ، Observer



Memento Pattern Diagram

الگوی Memento

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


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern ، Memento



Command Pattern Diagram

الگوی Command

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


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern ، Command



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

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


برنامه نویسی

الگو طراحی نرم افزار ، Design Pattern



Docker VS VM

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

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


پایگاه داده | برنامه نویسی

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



Docker

معرفی Docker

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


پایگاه داده | برنامه نویسی

Docker ، داکر ، Container ، کانتینر ، Docker Repository