سلام
این مفاهیم بیشتر تو بحث معماری نرم افزار مطرح می شه. مفاهیم مثل:
Models - View - Controllers - Interface - Inheritance و ...
پروژه وقتی از یه حدی بزرگتر می شه، توسعه اون با پیچیدگی هایی مواجه می شه. بخاطر همین یه سری اصول رو رعایت می کنند تا بعدها بتونند راحت تر پروژه رو توسعه بدن که به اون اصول بصورت کلی مهندسی نرم افزار می گن.
Models به بخشی از پروژه گفته می شه که شما ساختار جداول رو تو زبان برنامه نویسی رو اونجا تعریف می کنید. مثلا اگر قرار باشه یه کاربری داشته باشید که اطلاعاتش رو داخل دیتابیس ذخیره کنید، یه مدل براش می سازید و می گید که این کاربر چه چیزهایی ازش رو می خواید تو سیستم تعریف کنید. مثلا نام، شماره تماس، عکس و ...
یه مفهوم دیگه هم داریم به اسم ViewModel که می گه شما یه بار Model رو ساختی ولی شاید یه جایی نخوای همه مشخصات کاربر رو ازش استفاده کنی و فقط نیاز به نام و عکسش داری پس بهتره یه ViewModel براش بسازی تا برنامه نویس مستقیم با مدل ها درگیر نشه و کارش راحت تر و اصولی تر بشه و بعضا بلحاظ امنیت در برنامه هم موثر خواهد بود.
اما مفهوم Interface بیشتر یه چیزه انتزاعیه. شما فرض کن یه نقشه از یه ساختمون داری. اون نقشه می شه اینترفیس تو و حالا می تونی از روی نقشه صدتا ساختمون یکسان بسازی و اون ساختمون ها می شه پیاده سازی از نقشه.
تو داخل نقشه نمی تونی زندگی کنی و لمسش کنی و به مشتری بفروشی و ... ولی باید اون نقشه باشه تا بتونی ساختمون رو اصولی پیاده سازی کنی و تمام ساختمون هات هم شبیه هم باشه.
مثلا فرض کن تو سیستم پروژه ات قراره با User درگیر بشی. خوب این User چه چیزهایی قراره داشته باشه؟ قرار اطلاعاتش ثبت بشه، بتونه ویرایش کنه، بتونه خرید کنه و ...
این ها رو به عنوان تعریف داخل اینترفیس می نویسی و هیچ کدی داخل اینترفیس نیست. فقط تعریف. مثل نقشه ساختمون
حالا می ری و یه فایل باز می کنی و و از اون اینترفیس ارث بری می کنی و کدهای اصلی رو اونجا می نویسی
فرقش با حالت معمولی اینه که اینترفیس الزام اوره. و وقتی تو اینترفیس گفتی کاربر عملیات خرید داره تو رو الزام می کنه که حتما کد خرید باید براش بنویسی و اگر ننویسی خطا می ده.
پس اینترفیس داره یه سری اصول رو تعریف می کنه و تضمین می کنه که اون اصول تو سیستم رعایت و پیاده سازی بشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟