• 1400/07/22
  • 0
  • 161
1400/07/22 |
backend
c-sharp
asp
asp-net-core
dot-net

مزیت استفاده از Backing Field

سلام و درود به همگی.

من متوجه ساختار backing field شدم ولی درک نکردم که چرا و چه موقع ما باید ازش استفاده کنیم و اصلا چه سودی برای ما داره؟ ممنونم می شم اگر کسی تونست راهنمایی کنه


  • 1400/08/01

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


سلام

اگر شما توضیحات استاد را دقت کنید میبینید که در مثال ذکر شده خواستیم یک آدرس Url ذخیره کنیم ولی قبل از ذخیره کردن میخواهیم بدانیم آیا این آدرس معتبر است و یا هر کسی همینطوری یک آدرس تایپ کرده و با این روش میخواهیم صحت آدرس را در ابتدا چک کرده و سپس در فیلد مورد نظر ذخیره کنیم

در این حالت زمان تعریف فیلد یک فیلد مثلا هم نام با یک Undrlinr در ابتدا تعریف میشود و در ادامه یک منطق کنترل کردن در متن setUrl تعریف میشود که قبل از ذخیره شدن در دیتابیس صحت آدرس وارد شده چک شده و در صورت معتبر بودن وارد دیتابیس خواهد شد

شما در حالت عادی هم میتوانید در هنگام دریافت و یا متدهای ذخیره هم این کنترل را انجام دهید ولی بهترین حالت اینه که در زمان تعریف فیلد باشه و فقط زمان استفاده متد اون صدا زده بشه تا امکان فراموشی در جاهای مختلف برنامه به صفر برسه

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

خیلی خلاصه میشه گفت امکان دریافت اطلاعات از کاربر نامحدود باشه ولی در زمان ثبت باید قاعده و قانونی این انتخابها داشته باشه تا ثبت بشه در این مثال کاربر هر آدرسی و میتونه تایپ کنه ولی زمان ثبت کنترل میشه که شروع با https باشه و بعد سایت و باز میکنه و اگر باز شد یعنی سایت وجود داره و بعد اجازه ثبت اون اطلاعات و به کاربر میده تا لینکهای الکی و اشکال دار در بانک اطلاعات ذخیره نشن

مثلا شما بانک اطلاعات کتاب دارید و مرجع برای اون میخواهید ثبت کنن و این مرجع باید معتبر باشه و با استفاده از دستوراتی میخواهید صحت مرجع بودن و کنترل کنید

یا مثلا کد پستی را قبل از ثبت کنترل کنید

کد ملی را کنترل کنید

و ....

امیدوارم تونسته باشم مطلب و برسونم

 

 


با سلام

خود استاد داخل ویدیو توضیح دادن که BackingField، برنامه نویس سطح بالاتر رو محدود میکنه که حتما منطق این BackingField رو رعایت کنه.



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری