C# 7 - Pattern matching and switch expressions
هرچند کار کردن با کلاسها و اینترفیسهای strongly typed سادهتر است، اما گاهی از اوقات نیاز است تا با نوع object کار کرد. به علاوه حتی در حین کار کردن با کلاسها و اینترفیسها هم نیاز است تا نوع خاصی...
View ArticleC# 7 - Out variables
در زبان برنامه نویسی #C، هر متد، توانایی برگرداندن یک مقدار را دارد و در مواقعی نیاز داریم بیشتر از یک مقدار را از یک متد به عنوان خروجی دریافت کنیم که استفاده از پارامترهای out و ref و یا Tupleراه...
View ArticleC# 7 - More Expression-Bodied Members
یکی از امکانات جالب سیشارپ که در نسخه 6 معرفی شد، قابلیت Expression-Bodied Members بود. در نسخه 7 سیشارپ، امکانات جدیدتری اضافه شده است؛ به عنوان مثال اکنون میتوان برای constructors, finalizers و...
View ArticleC# 7 - Ref Returns and Ref Locals
C# 7 به همراه تغییرات قابل توجهی در مورد نحوهی دریافت خروجی از متدها است که نمونههایی از آنها را مانند tuplesو out variable، پیشتر بررسی کردیم. در ادامه تغییرات جدید دیگری را به نام ref locals و ref...
View ArticleC# 7 - Generalized Async Return Types
از زمان ارائهی C# 5 و معرفی الگوهای async/await، تنها نوعهای خروجی پشتیبانی شده، <Task، Task<T و void (در موارد خاص) بودند. مشکل همراه با این روش، اجبار به وهله سازی رسمی یک Task است؛ حتی اگر...
View Articleطراحی شیء گرا: OO Design Heuristics - قسمت چهارم
Dynamic SemanticsObjectها علاوه بر داده و رفتار به عنوان توصیفات ثابت، در زمان اجرا دارای یک Local State (a snapshot) از مقادیر داینامیک مربوط به اعضای دادهای خود، میباشند. مجموعه تمام حالاتی که...
View Articleویژگی های کمتر استفاده شده در NET. - بخش پنجم
Nullable<T>.GetValueOrDefault Methodبا استفاده از متد GetValueOrDefault مقدار فعلی یک شیء Nullable و یا مقدار پیش فرض آن را میتوان بدست آورد. این متد از عملگر ?? سریعتر است.float? yourSingle =...
View Articleویژگی های کمتر استفاده شده در NET. - بخش ششم
#Execute VB code via Cمی توان از طریق #C، ماکروهای Visual Basic مورد استفادهی در Office را تولید کرد.static void AddChartButton( Workbook workBook, Worksheet xlWorkSheetNew, Range currentRange, int...
View Articleپیاده سازی Basic Authentication در ASP.NET MVC
در سیستمهای اتصال از راه دور به خصوص اتصال تلفنهای همراه به وب سرویس، یکی از مواردی که مرتبا قبل از هر درخواستی بررسی میگردد، صحت نام کاربری و کلمه عبور درخواستی است. در این روش کاربر، الزامات امنیتی...
View Articleایجاد یک DbContext مشترک بین entityهای پروژههای متفاوت
فرضکنید پروژه بزرگی دارید که هر قسمت را به یک برنامه نویس میسپارید تا آن قسمت را در پروژه مجزایی طراحی و برنامه نویسی کند.هر برنامه نویس Entityهای خاص خود را در لایههای مربوط به پروژه خود تعریف...
View Articleاعتبارسنجی در Angular 2 توسط JWT
در مقالاتی که در سایت منتشر شدهاست، آشنایی و همچنین نحوه پیاده سازی Json Web Tokenرا فرا گرفتیم. در اینجا میخواهیم با استفاده از توکن تولید شده، برنامههای Angular2 یا هر نوع فریمورک spa را با آن...
View Articleمسیریابی در Angular - قسمت اول - معرفی
مسیریابی در +Angular 2 به همراه قابلیتهای فراوان و ویژهای است که تعدادی از آنها را تابحال در این سایت بررسی کردهایم. مورد مقدماتی اول، نیاز به بازنویسی کامل دارد، مورد دومجهت آشنایی با ساختار...
View Articleمسیریابی در Angular - قسمت دوم - مسیریابی ماژولها
اغلب برنامههای بزرگ Angular، ویژگیهای مختلف خود را به ماژولهای مجزایی تبدیل میکنند. این ماژولها شبیه به مفهوم Area در ASP.NET MVC هستند و هدف آنها نظم بخشیدن به کامپوننتهای ویژهی یک قسمت خاص از...
View Articleمسیریابی در Angular - قسمت سوم - پارامترهای مسیریابی
گاهی از اوقات نیاز است به همراه مسیریابی، اطلاعاتی را نیز به آنها ارسال کنیم. برای مثال در حین نمایش لیست محصولات، برای هدایت به صفحهی نمایش جزئیات هر محصول، نیاز است Id هر محصول نیز به همراه...
View Articleمسیریابی در Angular - قسمت چهارم - پیش واکشی اطلاعات
اگر مثال قسمت قبلرا اجرا کرده باشید، حتما شاهد این تجربهی ناخوشایند کاربری بودهاید: با کلیک بر روی لینک منوی نمایش لیست محصولات، ابتدا قاب خالی لیست محصولات نمایش داده میشود: سپس بعد از یک ثانیه،...
View Articleمسیریابی در Angular - قسمت پنجم - تعریف Child Routes
در Angular امکان تعریف مسیریابیهایی، درون سایر مسیریابیها نیز پیش بینی شدهاست. با استفاده از مفهوم Child Routes، امکان تعریف سلسله مراتب مسیریابیها جهت ساماندهی و مدیریت مسیریابی درون برنامه، وجود...
View Articleمسیریابی در Angular - قسمت ششم - گروه بندی مسیریابیها
همانطور که در قسمت قبلمشاهده کردیم، از تعریف Child Routes برای میسر ساختن نمایش قالبهای کامپوننتها، در درون سایر قالبهای کامپوننتها، استفاده میشود. برای نمونه قالبهای برگههای یک فرم ویرایش...
View Articleمسیریابی در Angular - قسمت هفتم - بهبودهای بصری
در این قسمت ویژگیهای بصری را مانند مشخص سازی مسیر انتخاب شده، در منوی سایت و همچنین نمایش «لطفا منتظر بمانید» را در حین نمایش قسمتهایی که با تاخیر از سرور دریافت میشوند، پیاده سازی خواهیم کرد. تزئین...
View Articleمسیریابی در Angular - قسمت هشتم - مسیرهای ثانویه
به چندین مسیر که در یک زمان و در یک سطح، نمایش داده میشوند، مسیرهای ثانویه (secondary routes) گفته میشوند و برای ساخت رابطهای کاربری پیچیده مفید هستند. از آنها میتوان برای نمایش چندین پنل در یک...
View Articleپیاده سازی پروژهای مبتنی بر CQRS و ES
درقسمت قبلیبا معماری CQRS و Event Sourcing بصورت مختصر آشنا شدیم. برای درک بیشتر مطلب پیشین، احتیاج به پیاده سازی آن به صورت عملیاتی و نه فقط تئوری محض میباشد و در این مرحله قصد پیاده سازی این مدل را...
View Article