PDA

View Full Version : فواید یک Delegate در یک برنامه ...



_hosseini_
چهارشنبه 28 آذر 1386, 12:38 عصر
با سلام
می خواستم از دوستان سئوال کنم یک Delegate را که در یک برنامه بکار می بریم ، به جز اینکه یک ارجاع برای یک متد باشه ، چه فایده ای داره و اصلا چه لزومی داره که ما از یک delgate استفاده کنیم ؟
متشکرم

manitack
چهارشنبه 28 آذر 1386, 13:34 عصر
Delegate ها در مواقع خاصی بسیار بکار می آیند .مثلا وقتی تصمیم به ایجاد رویداد خاصی در کلاس خود دارید.اما بهترین کار برای آشنایی جمع آوری مطالب و تمرین یر اساس آنهاست.در همین تالار هم میتوانید جستجو کنید.کاربرد Delegateبسیار متنوع است.

اَرژنگ
چهارشنبه 28 آذر 1386, 13:41 عصر
با سلام
می خواستم از دوستان سئوال کنم یک Delegate را که در یک برنامه بکار می بریم ، به جز اینکه یک ارجاع برای یک متد باشه ، چه فایده ای داره و اصلا چه لزومی داره که ما از یک delgate استفاده کنیم ؟
متشکرم
اهمیت دلگت برایه پیاده کردن الگوهایی است که قابلیت ارجاع به یک متد درشان مهم است.

به عنوان مثال به همین باتن کلیک که همیشه ازش استفاده میکنید نگاه بندازید میبینید که با استفاده از دلگت پیاده سازی شده. خوده باتن از اینکه چه کد بخصوصی را باید وقتی که فشار داده شد اجرا کند خبر ندارد، ولی میداند که اگر دلگتی که برایه فشار دادنش به متدی ارجاع میکنه ، باید آن متد را صدا بزند.

با استفاده از دلگت میشه کدی را که قرار است اجرا بشد را سوا از کدی که ازش استفاده میکند نگه داشت. داشتن این قابلیت یک درجه به انعتاف پزیری برنامه اضافه میکند.


در برنامه نویسی معمولی به احتمال زیاد احتیاجی نخواهید داشت که از دلگت استفاده کنید، ولی اگر زمانی به دو متد متفاوت نگاه میکنید و به خودتان میگید که این ۲ تا متد ۹۸% کپی هم هستد و فقط در این ۱۰ خط باهم فرق دارند، در آن موقع آن ۱۰ خط را در ۲دلگت قرار میدید و فقط از یک متد استفاده میکنید.

همانطوری که متغییرها به شما آزادی این را میدند که تا زمان اجرا لازم نیست مقدارشان را بدانید (تا بعد از اینکه کاربر بهشان یک مقدار بده)، دلگتها شما را قادر میکنند که تا زمان اجرا لازم نداشته باشید که کدام متد(ها) استفاده خواهند شد، و این خودش یک نوع انعتاف پزیری به برنامه و برنامه‌نویسی اضافه میکند.