دیسپچ داینامیک در مقابل استاتیک
متدها به دو روش اجرا میشن:
- دیسپچ استاتیک - وقتی نوع نمونه (instance) مشخصه، مستقیماً میدونیم کدوم تابع رو صدا بزنیم.
- دیسپچ داینامیک - وقتی نوع یه نمونه مشخص نیست، باید یه راهی برای صدا زدن تابع درست پیدا کنیم.
نوعهای trait مثل &dyn MyTrait بهمون این امکان رو میدن که بهشکل غیرمستقیم با نمونههای شیءها با استفاده از دیسپچ داینامیک کار کنیم.
وقتی از دیسپچ داینامیک استفاده میشه، راست تشویقت میکنه که dyn رو قبل از نوع trait ات بذاری تا بقیه هم متوجه بشن.
جزئیات حافظه:
- دیسپچ داینامیک به خاطر دنبال کردن pointer برای پیدا کردن فراخوانی واقعی تابع، یهکم کندتره.