تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ متین عفتی
توضیحات کوتاهی درباره IoC
جامعه فلاتر ایجاد شده در ۰۴ اسفند ۱۴۰۰

سلام به هم دوره ای‌های عزیز

خب اول یک توضیح کوتاهی راجب Provider بخوام بدم این هست که به ما کمک میکنه تا افزونگی کد (code redundancy) کاهش پیدا کنه و کار هارو براتون آسون‌تر میکنه



حالا بیاین بفهمیم ioc چی هست!

به طور عامیانه اگه بخوام توضیح بدم فرض کنید دارید با ماشینتون تا محل کارتون رانندگی میکنین که به این معنا هست کنترل ماشین دست شماست و راننده شما هستین اما در اصل IoC، شما کنترل کردن رو به قولی معکوس یا محول میکنید

حالا این چیزی که گفتم یعنی چی؟

به این معنا هست که شما به جای اینکه خودتان رانندگی کنید، شما یک تاکسی میگیرین و شخص دیگری به جای شما رانندگی میکنه

حالا بزارین با یک مثال جلو بریم :)

void main() {
  Truck A = Truck();
  Truck B = Truck();
}
class Driver{
  String name;
  String stars; 
}
class Truck(
  Driver driver;
  Truck() {
    driver = Driver();
} 

در کد بالا ما اومدیم یک نمونه (instance) از کلاس driver داخل سازنده کلاس Truck ساختیم، خب نتیجه چی میگیریم از این قضیه؟

بیاین با هم بازش کنیم، در اصل یعنی کنترل ایجاد نمونه از کلاس driver به عهده کلاس Truck هست

حالا فرض کنید Truck b رو که یک Truck جدید هست رو با همون راننده میخوایم خب در حالت عادی این غیر ممکن هست

حالا بیاین کد بالا رو با IoC ببینیم:

void main(){
  Truck a = Truck()..setDriver = Driver();
}
class Driver {
  String name;
  String stars;
}
class Truck{
  Driver _driver;
  set setDriver(Driver driver){
    _driver = driver;
  }
}

با کمک اصل IoC ما اومدیم یک تابع setter داخل کلاس Truck ساختیم که وظیفه ست کردن راننده رو بر عهده داره

بنابراین، کنترل ایجاد یک نمونه از کلاس Driver داخل کلاس Truck به کلاسی که خود کلاس را ایجاد میکنه منتقل شد

امیدوارم تونسته باشم مفهوم رو منتقل کنم :)

ممنون متین جان بابت وقتی که گذاشتی و همچنین مرسی بابت نکته خوبت

محمد حسین سخایی ۰۴ اسفند ۱۴۰۰، ۱۲:۱۵

این IoC مخفف چیه ؟ و چرا شما ومدین بهش اشاره کردین ؟


شاهو رضایی ۰۸ اردیبهشت ۱۴۰۱، ۱۰:۵۱