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