CodeByMe - آموزش برنامه‌نویسی
1.02K subscribers
1.86K photos
381 videos
4 files
739 links
کد بای می ، مدرسه برنامه نویسی است که در آن آموزش برنامه نویسی با بالاترین سطح کیفی ارائه می شود. آموزش برنامه نویسی در کد بای می پروژه محور بوده و مدرسان ما در طول
دوره همراه شما خواهند بود
.
.
.
Instagram: codebyme_official
Youtube: codebyme
Download Telegram
Dispatching

تا حالا دیدی تو یه مرکز تماس، اپراتور تماس رو وصل می‌کنه به بخش مناسب؟ مثلاً مشکل فنی داری می‌ری پشتیبانی، پولی باشه می‌ری حسابداری؟ خب اون کاری که اپراتوره می‌کنه رو بهش می‌گن Dispatch

توی برنامه‌نویسی هم همینه:
یه درخواست میاد، سیستم نگاه می‌کنه، می‌فرستدش به جای درست


یه مثال ساده با GO

switch contactType {
case "technical":
technicalSupport()
case "accounting":
accounting()
case "sales":
sales()
}

بسته به اینکه contactType چیه، می‌فرستیمش به تابع مناسب.


انواع Dispatch تو Go

1. Dynamic Dispatch با اینترفیس:
تو زمان اجرا تصمیم می‌گیریم کدوم متد رو صدا بزنیم:


var s Speaker
s = Dog{} // Woof!
s = Cat{} // Meow!


2. Dispatch از طریق کانال‌ها:
با select منتظریم ببینیم کدوم کانال زودتر پیام می‌ده:


select {
case msg := <-ch1:
fmt.Println(msg)
case msg := <-ch2:
fmt.Println(msg)
}


3. Static Dispatch با Map یا Switch:


actions := map[string]func(){
"start": func() { fmt.Println("Starting...") },
}


چرا Dispatch

- نظم می‌ده به کد.
- قابل گسترشه.
- بهینه‌تر می‌شه.

#Golang #Dispatching





@codebyme