اصل Command Query separation
در ادامه مطلب قبلی، یکی از مشکلاتی که طراحی Builder از آن رنج میبرد، نقض کردن قانون command query separation است که در ادامه دربارهی این اصل بیشتر بحث خواهیم کرد.اصل Command query separation یا به...
View Articleتوزیع پروژههای ASP.NET Core 1.1 بدون ارائه فایلهای View آن
پیشتر مطلب «توزیع پروژههای ASP.NET MVC بدون ارائه فایلهای View آن» را در مورد ASP.NET MVC 5.x مطالعه کرده بودید. این روش پشتیبانی رسمی و توکاری نداشته و توسط افزونههای ثالث انجام میشود؛ به همراه...
View Articleبررسی چند نکته در مورد ارث بری کلاسها در #C
مقدمه وراثت، بین کلاسهای والد (Parent) و فرزند (Child) ارتباط ایجاد میکند. در این مطلب، با یک مثال ساده، نکات مختلفی را بررسی خواهیم کرد. در ابتدا کلاسهایی را با نام parent و child، به شکل زیر ایجاد...
View Articleکار با Areas در ASP.NET Core
کار با Areas را تا ASP.NET MVC 5.x میتوانید در مطلب «ASP.NET MVC #14» مطالعه کنید. در ASP.NET Core، کلیات آن ثابت ماندهاست و تنظیمات ابتدایی آن اندکی تغییر کردهاند. مفهوم Areas Areas یکی از روشهای...
View Articleارسال ایمیل در ASP.NET Core
فضای نام System.Net.Mail در NET Core 1.2.که پیاده سازی netstandard2.0 است، ارائه خواهد شد. بنابراین فعلا (در زمان NET Core 1.1.) راه حل توکار و رسمی برای ارسال ایمیل در برنامههای مبتنی بر NET Core....
View Articleفراخوانی سرویسهای OData توسط کلاینتهای #C
فرض کنید در سرویسهای خود، در حال استفاده از OData هستید. حال کافیست که metadata$ مربوط به سرویستان را برای استفادهی کلاینتهای دیگر، در اختیار آنها قرار دهید.وقتی از Odata استفاده میکنید، به صورت...
View Articleپیاده سازی Option یا Maybe در #C
Options یا Maybe در یک زبان تابعی مثل #F، نشان دهندهی این است که شیء (Object) ممکن است وجود نداشته باشد(Null Reference) که یکی از مهمترین ویژگیهای یک زبان شیءگرا مثل #C و یا Java محسوب میشود. ما...
View Articleبررسی روش دسترسی به HttpContext در ASP.NET Core
در نگارشهای دیگر ASP.NET، برای دسترسی به اطلاعات درخواست وب جاری، میتوان از خاصیت استاتیک System.Web.HttpContext.Current استفاده کرد. با حذف شدن System.Web از ASP.NET Core و همچنین بهبود طراحی آن جهت...
View Articleبررسی روش آپلود فایلها در ASP.NET Core
مدیریت پردازش آپلود فایلها در ASP.NET Core نسبت به ASP.NET MVC 5.x به طور کامل تغییر کردهاست و اینبار بجای ذکر نوع System.Web.HttpPostedFileBase باید از اینترفیس جدید IFormFile واقع در فضای نام...
View Articleبررسی روش مشاهده خروجی SQL حاصل از کوئریهای Entity framework Core
هنوز تا Entity framework Core 1.1، مفهوم interceptors موجود در EF 6.x پیاده سازی نشدهاست. اما شبیه به مفاهیم «ارتقاء به ASP.NET Core 1.0 - قسمت 17 - بررسی فریم ورک Logging»، در EF Core نیز زیرساختی...
View Articleمعرفی Xamarin و مزیتهای استفاده از آن
چرا برنامه نویسی موبایل؟با افزایش روزافزون SmartPhone ها و تبلتها، بازار تکنولوژی به این سمت سوق پیدا کردهاست. از این رو شرکتهای ارائه دهنده نرم افزاری، از این موقعیت استفاده کرده و هر کدام پلتفرم...
View Articleسیستمهای توزیع شده در NET. - بخش اول - نیازمندی
در حوزه کاری ما همیشه نیازمندیهای جدید باعث پیشرفت، ارتقاء و پیچیدهتر شدن سیستمهای سخت افزاری و نرم افزاری میشوند. بطور مثال زمانیکه نیاز شد چندین سیستم از دادههای مشترکی استفاده کنند، در معماری...
View Articleاستفادهی گسترده از DateTimeOffset در NET Core.
اگر به سورسهای ASP.NET Identity نگارشهای 2 و 3 دقت کنیم، این تفاوت به وضوح قابل مشاهدهاست:در نگارش 2public virtual DateTime? LockoutEndDateUtc { get; set; }در نگارش 3public virtual DateTimeOffset?...
View Articleسیستمهای توزیع شده در NET. - بخش دوم - چرا یک سخت افزار به تنهایی پاسخگوی...
قبل از شروع به بحث در مورد سیستمهای توزیع شده، بهتر است ابتدا به سوالی اساسی که اساس بوجود آمدن سیستمهای توزیع شده است، پاسخ دهیم: چرا یک سخت افزار به تنهایی پاسخگوی همه نیازهای ما نیست؟ همه...
View Articleسیستمهای توزیع شده در NET. - بخش سوم- مهمترین فاکتورها در انتخاب سیستمهای...
همیشه نیازمندیهای ما باعث انتخاب نوع طراحی و پیاده سازی ما میشوند و لزوما چیزی که برای ما جذابتر و پیچیدهتر است، باعث موفقیت سیستمی که طراحی میکنیم نمیشود. چه بسا که یک انتخاب نادرست و نادیده...
View Articleبررسی تغییرات Reflection در NET Core.
API کار با امکانات Reflection نیز در NET Core. نسبت به نگارش کامل دات نت، دارای تغییراتی است که در ادامه مهمترینهای آنها را بررسی خواهیم کرد. پیشنیازهای کار با Reflection در NET Core. ابتدا نیاز است...
View Articleسیستمهای توزیع شده در NET. - بخش چهارم - تعاریف، مزایا و معایب
بدلیل اینکه یکی از مهمترین معایب سیستمهای توزیع شده، پیچیدگی در طراحی و پیاده سازی این نوع از سیستمها میباشد و آشنا بودن ما با تعاریف، خصوصیات، مزایا، معایب، اهداف و اصطلاحات موجود در این نوع...
View Articleتهیه قالب برای ارسال ایمیلها در ASP.NET Core توسط Razor Viewها
برای ارسال متن ایمیلها، یا میتوان یک سری رشته را با هم جمع زد و ارسال کرد و یا یک View را به همراه ViewModel آن، طراحی و سپس این View را تبدیل به یک رشته کرد. روش دوم هم قابلیت طراحی بهتری دارد و هم...
View Articleسیستمهای توزیع شده در NET. - بخش پنجم - اهداف
در بخشهای قبل، دلایل بوجود آمدن سیستمهای توزیع شده بررسی شد و تاکید کردیم که نیازمندیها، باعث تغییر و تکامل سیستمهای ما میشوند و بر همین اساس بررسی کردیم که چه نیازمندیهایی باعث میشوند که دیگر...
View Articleپیاده سازی ماژولار Autofac
یکی از مشکلاتی که در برخی از طراحیهایی که تا کنون دیدهام وجود دارد، عدم استفاده از قابلیت ماژولار نویسی تنظیمات Autofac و عدم استفاده از Interfaceها برای ارتباط بین قسمتهای مختلف سیستم است. به این...
View Article