نظرات مطالب
C# 8.0 - Pattern Matching
بهبود «Property Patterns معرفی شده‌ی در C# 8.0» در C# 10.0

در C# 8.0 برای بررسی خواص تو در تو باید از الگوی زیر استفاده کرد:
....{property: {subProperty: pattern}}....
که این الگو در C# 10.0 به صورت زیر ساده شده‌است:
....{property.subProperty: pattern}....

یک مثال:
رکورد زیر را در نظر بگیرید:
public record TestRec(string name, string surname);
روش پیشین دسترسی به خاصیت طول name به صورت زیر است:
string TakeFourSymbols(TestRec obj) => obj switch
{
    TestRec { name: {Length: > 4} } rec => rec.name.Substring(0,4),
    // ...
};
که اکنون در C# 10.0 کمی متداول‌تر و ساده‌تر شده‌است:
string TakeFourSymbols(TestRec obj) => obj switch
{
    TestRec { name.Length: > 4 } rec => rec.name.Substring(0,4),
    // ...
};
نظرات مطالب
بازنویسی سطح دوم کش برای Entity framework 6
من اساسا مخالف هر نوع generic repository هستم. شما الان یک کد «ساده‌» و «زیبای» EF را تبدیل به یک کد پیچیده‌ی غیرقابل درک کردید. این نه پیشرفتی است و نه بر اساس هیچکدام از الگوهای برنامه نویسی.
در این زمینه یک سری مطلب در سایت هستند برای مطالعه:
-Repository‌ها روی UnitOfWork ایده خوبی نیستند
- پیاده سازی generic repository یک ضد الگو است 
- استفاده از الگوی Repository در EF Code First کار اضافی است.
- 5 نکته برای بهبود کیفیت کدهای برنامه‌ای که از یک ORM استفاده می‌کند  
نظرات مطالب
MVC Scaffolding #2
- لینک مطلب «پیاده سازی generic repository یک ضد الگو است » را براشون ارسال کنید تا مطالعه کنند.
- در متن عنوان شده « ModelType: برای ذکر صریح کلاس مورد استفاده در تشکیل کنترلر بکار می‌رود. اگر ذکر نشود، از نام کنترلر حدس زده خواهد شد.» ModelType دقیقا مانند نحوه مقدار دهی نوع مدل در صفحه دیالوگ استاندارد اضافه کردن یک View در VS.NET مقدار دهی می‌شود؛ یک fully qualified name است. با این شرط که اسمبلی مربوطه به پروژه اصلی ارجاع دارد و یکبار هم کل پروژه Build شده.
اشتراک‌ها
language-agnostic به چه معناست؟
وقتی راه حل مساله ای language-agnostic  نامیده می‌شود، به این معناست که راه حل مستقل از ویژگی‌های زبانی می‌باشد. به عنوان مثال، الگوهای طراحی language-agnostic  هستند، زیرا در شیوه توصیف آنها پیاده سازی خاص مهم نیست چون آن را با کل یا زیر مجموعه ای از الگوها نشان میدهند(برخی از الگوهای طراحی را می‌توان بدون OOP اجرا کرد). UML یا BPMN یا  ERM یا حتی یک الگوریتم که به روش pseudo-code نوشته شده است language-agnostic میباشد. هر چیزی که مفهوم برنامه نویسی داشته باشد، اما در یک زبان خاص توصیف نشده باشد، می‌تواند language-agnostic نامیده شود.
language-agnostic به چه معناست؟
نظرات مطالب
معماری لایه بندی نرم افزار #1
من هم وقتی کار بر روی این معماری رو شروع کردم با مشکلات زیادی روبرو بودم و خیلی از مسائل برای من هم نامانوس و غیر قابل هضم بود. ولی بعد از اینکه چند پروژه نرم افزاری رو با این معماری پیاده سازی کردم فهم بیشتری نسبت به اون پیدا کردم و خیلی از مشکلات موجود رو با دقت بالا و با در نظر گرفتن تمامی الگوها رفع کردم. امیدوارم این حس مشترک بوجود بیاد. ولی دلیل اصلی ایجاد تکنولوژی‌ها و معماری‌های جدید اختلاف نظر بین علماست. این اختلاف نظر در اکثر مواقع میتونه مفید باشه. ممنون دوست عزیز