بازخوردهای دوره
تزریق وابستگی‌ها
تزریق وابستگی رو تا چه سطحی باید انجام داد؟ یعنی رعایت کردن اون تو تمام سطوح نرم افزار باید انجام بشه؟ برای مثال کلاس زیر رو در نظر بگیرید که در لایه Entity  وجود داره
class Parent
{
    public IChild child {get;set;}
    public Parent(Ichild child)
   {
      this.child =child;
   }
}
آیا با اینکه کلاس پدر و فرزند در یک لایه مشترک هستند  ، در اینجا ارزش داره که  تزریق وابستگی رو انجام بدیم ؟حجم کد و کار بالا بالا نمیره؟ یا اینکه پیچیدگی زیاد نمیشه؟
نظرات اشتراک‌ها
پروژه Help Desk در ابعاد کوچک
با سلام
برای Hosting این نرم افزار در سمت سرور و کلاینت این وب سایت‌های از Firebase و Heroku استفاده شده است و حساب کاربری رایگان هر دو وب سایت دارای یک سری محدودیت‌ها است و یکی از این محدودیت‌ها سمت وب سایت Heroku خاموش شدن وب سایت بعد از 30 دقیقه است اما اگر برای بار اول نتوانستید وارد شوید مجددا سعی نمایید.
همچنین نام کاربری و کلمه عبور خود را جهت تست و در صورت تمایل به ایمیل بنده ارسال نمایید. (دسترسی به کلمه‌های عبور برای بنده امکان پذیر نمی‌باشد)
نظرات اشتراک‌ها
چرا از آنگولار به ری اکت + ری داکس سوئیچ کردم!
به نظرم اگر بر اساس مطالبی که فقط در این پست، کاربر «مرتضی رییسی»  مطرح کرده اند باشد، استفاده از نفرت پراکنی شاید زیاده روی باشد. خوب هست که بگذاریم نظرات مخالف و موافق بیان شود، هر چند که دارای جبهه گیری خاصی باشد. این که فلان کتابخانه را چون فلان شرکت توسعه داده به درد نمی‌خوره شاید نشان از تعصب داشته باشد. قبلا که مایکروسافت به صورت انحصاری عمل می‌کرد جامعه‌ی نرم افزار آزاد آن را می‌کوبیدند، الان هم که به صورت آزاد کتابخانه‌ها و فریم ورک هایش را منتشر می‌کنند باز هم به دلایلی دیگر از جمله مواردی اینجا هم بهش اشاره کردند آن را می‌کوبند.
قرار نیست اینجا کاربری، کاربر دیگری را قانع کند. هر کسی نظرات و تجربه هایش را بیان می‌کند. بقیه کاربران هم می‌توانند تحقیق کنند و از این بحث‌ها استفاده مفید ببرند. اگر کسی علیه انگولار صحبت کرد تا زمانی که بحث تعصب پیش نیامده است، بقیه کاربران می‌توانند بروند تحقیق کنند و نتیجه گیری درست را انجام بدهند.
نظرات اشتراک‌ها
درس خوندن، ارزشش رو داره؟
من هم عقیده دارم سر فصل‌های دروس در دانشگاه ههای ما  اصلا مناسب نیست ...  ضمن اینکه همون اصول و حتی سرفصل‌های نا مناسب هم بطور کامل و درست درس داده نمیشه .... و همون درس ناقص هم ( اکثریت دانشجویان  ) ناقص میخونن ... 
به این سناریو اضافه کنید سیستم مدیریت آموزش ضعیف و امکانات آموزشی محدود ( بخصوص برای رشته‌های مهندسی مثل نرم افزار ) و کمبود نیروی مدرس باسواد و توانمند 
 من در مورد اکثر دانشگاهها این رو میگم نه در مورد چند تا دانشگاه مطرح (که البته اونها هم در حد اسمشون نیستند. )
اعتقاد هم ندارم همه چیز رو باید تو دانشگاه یاد گرفت  ... ولی وقت ، استعداد و پول دانشجویان رو هم تا این حد نباید هدر داد ... 
اشتراک‌ها
مقایسه اپلیکیشن های Native اندروید و آی او اس با React Native، Ionic و Native ُScript

NativeScript یک فریمورک متن باز برای ساخت برنامه‌های نیتیو موبایل با جاوا اسکریپت است.

Ionic فریمورک مبتنی بر Angular، به صورت متن باز برای توسعه نرم افزار تلفن همراه بکار می‌رود که باعث می‌شود برنامه‌های نیتیو و پیشرفته وب با تکنولوژی‌های بالا ساخته شود.

React Native یک فریمورک جاوا اسکریپت برای ساخت برنامه‌های تلفن همراه نیتیو است که از فریمورک React استفاده می‌کند.

انتخاب یکی از این 3 گزینه در دنیای صنعت رو به رشد امروز دشوار است. 

مقایسه اپلیکیشن های Native اندروید و آی او اس با React Native، Ionic و Native ُScript
اشتراک‌ها
برنامه‌ای جهت حذف فایلها و فولدرهای قدیمی پوشه Setup ویژوال استادیو 2017

همانطور که می‌دانیم برای دانلود و نصب آفلاین ویژوال استادیو 2017 باید از کامند مخصوص آن به صورت ذیل استفاده نمود.

vs_enterprise.exe --layout C:\vs2017offline --lang en-US
حال در آینده نیز با تکرار همین کامند می‌توان پکیج‌های داخل آن را آپدیت نمود و یک پوشه نصب به روز در اختیار داشت ولی مشکلی که وجود دارد این است که پکیج‌های قدیمی نیز باقی می‌مانند و باعث می‌شود رفته رفته حجم پوشه نصب افزوده شود.
با استفاده از نرم افزار کاربردی معرفی شده می‌توان پکیج‌های قدیمی پوشه نصب را پیدا کرده و حذف نمود.

برنامه‌ای جهت حذف فایلها و فولدرهای قدیمی پوشه Setup ویژوال استادیو 2017
اشتراک‌ها
"به خودمان اهمیت بدهیم"

کسانی که در حوزه توسعه نرم افزار کار می‌کنند عموما از سبک زندگی مناسبی برخوردار نیستند. فشار کاری زیاد، انتظارات بالای سایرین از ما، رقابت شدید، نیاز به یادگیری مداوم و به روز ماندن، ساعت‌ها خیره شدن به مانیتور و فعالیت فیزیکی بسیار پایین، عدم تعامل موثر با سایرین و ... از ویژگی‌های "حرفه" ماست. این‌ها در کنار مشکلات جدی‌تر زندگی مانند مسائل مالی، رابطه و دغدغه‌های زندگی بسیار سنگین‌تر هم خواهند شد.
اسکات هنسلمن در وبلاگ اش راهکار هایی را که خودش برای حل این مسائل به کار بسته را به اشتراک گذاشته است.
 

"به خودمان اهمیت بدهیم"
اشتراک‌ها
Entity FrameWork DbContext وDependency Injection و DbContextScope

یکی از متداول‌ترین الگوهای امروزی برای رفع وابستگی به یک سرویس در یک Object وابسته به ان سرویس الگوی Dependency Injection می‌باشد . در این الگو , وابستگی به سایر کلاس‌ها , به صورت اتوماتیک به داخل سرویس مورد نظر تزریق می‌شود و نیاز به نمونه گیری و ساخت Object از ان وابستگی به صورت Explicit نیست . این الگو در مهندسی نرم افزار فوایدیی (Refactoring , کنترل LifeTime اشیاء , ...) دارد که مرتبط با موضوع این مقاله نیست , اما نحوه صحیح نمونه گیریی از DbContext با الگوی Dependency Injection در انواع برنامه‌ها اعم از وب یا دسکتاپ موضوع اصلی این مقاله می‌باشد. 

Entity FrameWork DbContext وDependency Injection و DbContextScope
اشتراک‌ها
دانلود سورس باز نسخه 3.10 Nop Commerce
نرم افزار Nop Commerce
بهترین فروشگاه رایگان! nopCommerce بصورت منبع باز است. یک پروژه با ویژگی‌های جامع است که به سادگی برای هرنوع کسب و کار جدید کارایی دارد ، در عین حال به اندازه کافی قدرتمند است. این یک پلت فرم تجارت الکترونیک امن، مقیاس پذیر و قابل تمدید است.   بسیاری از تکنیک‌های معماری بصورت کامل در این پروژه دیده میشود.  توضیحات:
C# MVC 4.5 (4) - Code First - DDD - Multilayered software architecture 
دانلود سورس باز نسخه 3.10 Nop Commerce
نظرات مطالب
تزریق مستقیم وابستگی‌ها در Action Method ها و Handler Method های ASP.NET Core
بهتر است سه قسمت اول مرتبط با دوره «بررسی مفاهیم معکوس سازی وابستگی‌ها و ابزارهای مرتبط با آن» را مطالعه کنید.
1) Dependency inversion principle یا DIP (اصل معکوس سازی وابستگی‌ها)
DIP یکی از اصول طراحی نرم افزار است و D آن همان D معروف SOLID است (اصول پذیرفته شده شیءگرایی).
2) Inversion of Control یا IOC (معکوس سازی کنترل)
الگویی است که نحوه پیاده سازی DIP را بیان می‌کند.
3) Dependency injection یا DI (تزریق وابستگی‌ها)
یکی از روش‌های پیاده سازی IOC است.
4) IOC container
به فریم ورک‌هایی که کار DI را انجام می‌دهند گفته می‌شود.