Strategy Pattern در #C
استراتژی یک الگوی طراحی می باشد که یک سری قوانین در آن نوشته می شود و اجازه می دهد پیاده سازی هایی متفاوت از آن داشته باشیم. برای مثال میخواهیم یک ریپازیتوری برای خواندن دیتاها بنویسیم که بعدا در صورت نیاز بتوانیم محل خوانده شدن دیتاهارا (با کمترین تغییر در کد) تغییر دهیم. میتوانیم دیتاها را در ....
ادامه مطلب
مقدار null چگونه در ValueType ها ذخیره میشود؟
در سی شارپ دو نوع تایپ وجود دارد. ValueType و ReferenceType. این تایپ ها ویژگی های مختص به خود را دارند. یکی از آن ویژگی هایی که در این مطلب میخواهیم درباره آن صحبت کنیم قرار دادن مقدار Null در ValueTypeها می باشد. ReferenceTypeها دیتای اصلی را درون خود ذخیره نمی کنند، بلکه ....
ادامه مطلب
پیاده سازی یک FileHelper سازگار با تمامی سیستم عامل ها در Asp.Net Core
زمانی که در سی شارپ با فایل ها کار می کنیم، معمولا به این فکر هستیم که در تمامی سیستم عامل ها به درستی کار کند. زیرا مسیرها در ویندوز، لینوکس و مک باهم تفاوت دارند. برای مثال در ویندوز برای جداسازی پوشه ها از / استفاده می شود، اما در لینوکس از / استفاده می شود. اگر در ....
ادامه مطلب
Build گرفتن از پروژه قبل از پوش کردن git commit
در مواقعی که چندین ساعت پشت سرهم کار انجام میدهیم و خسته می شویم، امکان این کار وجود دارد که پروژه را سریعا push کنیم و بررسی نکنیم که اصلا پروژه بیلد میشود یا نه. در Git این قابلیت وجود دارد که قبل از پوش کردن یکسری دستورات را ....
ادامه مطلب
تست نویسی با دیتابیس واقعی
هنگام نوشتن تست ها در بعضی موارد نیازمند ارتباط با دیتابیس هستیم که دیتایی را از آن بخوانیم و یا رکوردهایی را در آن ذخیره کنیم. اگر از یک دیتابیس ثابت استفاده کنیم، هربار که تست ها اجرا شوند مقادیر موجود در دیتابیس تغییر خواهند کرد و اگر شخص دیگری با دیتابیس کار کند و دیتاهای آن را تغییر دهد ....
ادامه مطلب