class Parent { public IChild child {get;set;} public Parent(Ichild child) { this.child =child; } }
پروژه Help Desk در ابعاد کوچک
چرا از آنگولار به ری اکت + ری داکس سوئیچ کردم!
درس خوندن، ارزشش رو داره؟
NativeScript یک فریمورک متن باز برای ساخت برنامههای نیتیو موبایل با جاوا اسکریپت است.
Ionic فریمورک مبتنی بر Angular، به صورت متن باز برای توسعه نرم افزار تلفن همراه بکار میرود که باعث میشود برنامههای نیتیو و پیشرفته وب با تکنولوژیهای بالا ساخته شود.
React Native یک فریمورک جاوا اسکریپت برای ساخت برنامههای تلفن همراه نیتیو است که از فریمورک React استفاده میکند.
انتخاب یکی از این 3 گزینه در دنیای صنعت رو به رشد امروز دشوار است.
همانطور که میدانیم برای دانلود و نصب آفلاین ویژوال استادیو 2017 باید از کامند مخصوص آن به صورت ذیل استفاده نمود.
vs_enterprise.exe --layout C:\vs2017offline --lang en-US
با استفاده از نرم افزار کاربردی معرفی شده میتوان پکیجهای قدیمی پوشه نصب را پیدا کرده و حذف نمود.
"به خودمان اهمیت بدهیم"
کسانی که در حوزه توسعه نرم افزار کار میکنند عموما از سبک زندگی مناسبی برخوردار نیستند. فشار کاری زیاد، انتظارات بالای سایرین از ما، رقابت شدید، نیاز به یادگیری مداوم و به روز ماندن، ساعتها خیره شدن به مانیتور و فعالیت فیزیکی بسیار پایین، عدم تعامل موثر با سایرین و ... از ویژگیهای "حرفه" ماست. اینها در کنار مشکلات جدیتر زندگی مانند مسائل مالی، رابطه و دغدغههای زندگی بسیار سنگینتر هم خواهند شد.
اسکات هنسلمن در وبلاگ اش راهکار هایی را که خودش برای حل این مسائل به کار بسته را به اشتراک گذاشته است.
یکی از متداولترین الگوهای امروزی برای رفع وابستگی به یک سرویس در یک Object وابسته به ان سرویس الگوی Dependency Injection میباشد . در این الگو , وابستگی به سایر کلاسها , به صورت اتوماتیک به داخل سرویس مورد نظر تزریق میشود و نیاز به نمونه گیری و ساخت Object از ان وابستگی به صورت Explicit نیست . این الگو در مهندسی نرم افزار فوایدیی (Refactoring , کنترل LifeTime اشیاء , ...) دارد که مرتبط با موضوع این مقاله نیست , اما نحوه صحیح نمونه گیریی از DbContext با الگوی Dependency Injection در انواع برنامهها اعم از وب یا دسکتاپ موضوع اصلی این مقاله میباشد.
1) Dependency inversion principle یا DIP (اصل معکوس سازی وابستگیها)
DIP یکی از اصول طراحی نرم افزار است و D آن همان D معروف SOLID است (اصول پذیرفته شده شیءگرایی).
2) Inversion of Control یا IOC (معکوس سازی کنترل)
الگویی است که نحوه پیاده سازی DIP را بیان میکند.
3) Dependency injection یا DI (تزریق وابستگیها)
یکی از روشهای پیاده سازی IOC است.
4) IOC container
به فریم ورکهایی که کار DI را انجام میدهند گفته میشود.