برنامه نویسی پیشرفته JavaScript - قسمت 2 - ماهیت انواع داده‌ای و حوزه دسترسی به متغیرها
مقادیر پایه (Primitive Values) و ارجاعی (Reference Values) در جاوا اسکریپت، متغیرها شامل داده‌هایی از نوع پایه و یا ارجاعی می‌باشند. مقادیر String ، Number ، Boolean ، Null و Undefined به عنوان مقادیر پایه محسوب می‌گردند. در این نوع متغیرها تغییرات، ...
برنامه نویسی پیشرفته JavaScript - قسمت 1 - توابع
در این مجموعه مقالات، به بررسی و آموزش برنامه نویسی شیء گرا در جاوا اسکریپت می‌پردازیم. در طول آموزش، فرض را بر این قرار دادیم که شما به عنوان خواننده‌ی این مقاله، با مبانی جاوا اسکریپت آشنا می‌باشید و حداقل چند قطعه کد مفید را با جاوا اسکریپت نوشته‌اید. همچنین کمی هم با مباحث شیء گرایی آشنا می‌باشید. روال آموزش در این مجموعه به گونه است که در ابتدا به معرفی مباحث پیش نیاز جهت ورود به دنیای شیء گرایی در جاوا اسکریپت، پرداخته خواهد شد. س ...
اصول طراحی شیء گرا: OO Design Principles - قسمت چهارم
همانطور که قول داده بودم ، به اصول GRASP می‌پردازیم. اصول GRASP-General Responsibility Assignment Software Principles این اصول به بررسی نحوه تقسیم وظایف بین کلاس‌ها و مشارکت اشیاء برای به انجام رساندن یک مسئولیت می‌پردازند. اینکه هر کلاس در ساختار نرم افزار چه وظیفه‌ای دارد و چگونه با کلاس‌های دیگر مشارکت میکند تا یک عملکرد به سیستم اضافه گردد. این اصول به چند بخش تقسیم می­شوند: کنترلر ( Controlle ...
اصول طراحی شیء گرا: OO Design Principles - قسمت سوم
اصل هفتم: Liskove Substitution Principle "ارث بری باید به صورتی باشد که زیر نوع را بتوان بجای ابر نوع استفاده کرد" این اصل می‌گوید اگر قرار است از ارث بری استفاده شود، نحوه‌ی استفاده باید بدین گونه باشد که اگر یک شیء از کلاس والد ( Base-Parent-Super type ) داشته باشیم، باید بتوان آن را با شیء کلاس فرزند ( Sub Type-Child ) بدون هیچ گونه تغییری ...
اصول طراحی شی‌ء گرا: OO Design Principles - قسمت دوم
اصل چهارم: Starve for loosely coupled designs "به دنبال طراحی با اتصال سست بین اجزا باش" اتصال بین اجزای برنامه نویسی باعث سخت‌تر شدن مدیریت تغییرات می‌شود؛ چرا که با تغییر یک بخش، بخش‌های متصل نیز دچار مشکل خواهند شد. اتصال‌ها از لحاظ نوع قدرت متفاوتند و اساسا سیستمی بدون اتصال وجود ندارد. لذا باید به دنبال یک طراحی با کمترین میزان قدرت اتصال یا همان سست اتصال باشیم. تا به اینجا ، اصل‌های دوم و سوم ما ...
اصول طراحی شیء گرا: OO Design Principles
قصد دارم مجموعه ای کامل از اصول طراحی شیء گرا، الگوهای طراحی و best practice ‌های مربوطه را ارائه دهم. از این رو ابتدا با اصول طراحی شروع می‌کنم. سپس در مقالات آتی به الگوهای مختلف خواهم پرداخت و تا جایی که معلومات اجازه دهد مشخص خواهم کرد که هر الگو متمرکز بر رعایت کدام یک از اصول است و اینکه آیا مناسب است از الگوی مورد نظر استفاده کنیم. این مطالب نیز چکیده ای از آموزش‌های Lynda, Pluralsight , SkillFeed ...
Design Pattern: Factory
الگوهای طراحی، سندها و راه حلهای از پیش تعریف شده و تست شده‌ای برای مسائل و مشکلات روزمره‌ی برنامه نویسی می‌باشند که هر روزه ما را درگیر خودشان می‌کنند. هر چقدر مقیاس پروژه وسیعتر و تعداد کلاسها و اشیاء بزرگتر باشند، درگیری برنامه نویس و چالش برای مرتب سازی و خوانایی برنامه و همچنین بالا بردن کارآیی و امنیت افزون‌تر می‌شود. از همین رو استفاده از ساختارهایی تست شده برای سناریوهای یکسان، امری واجب تلقی می‌شود. الگوهای طراح ...
اصول طراحی شی گرا SOLID - #بخش پنجم اصل DIP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP اصول طراحی شی گرا SOLID - #بخش چهارم اصل ISP اصل 5) D – DIP– Dependency Inversion principle مقایسه با دنیای واقعی: همان مثال کامپیوتر را دوباره در نظر بگیرید.این کامپیوتر دارای قطعات مختلفی مانند RAM ، هارد دیسک، CD ROM و ... است که هر ک ...
اصول طراحی شی گرا SOLID - #بخش چهارم اصل ISP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP اصل 4) I – ISP– Interface Segregation principle مقایسه با دنیای واقعی: بیایید فکر کنیم شما یک کامپیوتر دسکتاپ جدید خریداری کرده اید.شما یک زوج پورت USP، چند پورت سریال، یک پورت VGA و ... را پیدا میکنید. اگر شما بدنه‌ ...
اصول طراحی شی گرا SOLID - #بخش سوم اصل LSP
بخش‌های پیشین : اصول طراحی شی گرا SOLID - #بخش اول اصل SRP اصول طراحی شی گرا SOLID - #بخش دوم اصل OCP اصل 3 ) L – LSP – Liskov substitution principle اصل LSP میگوید : "زیر کلاس‌ها باید بتوانند جایگزین نوع پایه‌ی خود باشند". مقایسه با جهان واقعی : شغل یک پدر تجارت املاک است درحالی که پسرش دوست دارد فوتبالیست شود. یک پسر هیچگاه نمیتواند جایگزین پدرش شود، با اینکه ک ...