serviceCollection.AddScoped<HttpClient>();
@inject HttpClient Http
Paper Cut یک ایمیل سرور دسکتاپ
Nowadays, I am trying to learn different design patterns in object oriented paradigm that are pretty useful to implement generic solutions for different scenarios. Few weeks ago for a job hunt, I got an assignment to do which was a web application that would interact with database, so I took it up as a challenge and decided to make it loosely coupled using design patterns which were applicable in that scenario.
Last week, at ng-conf, the Angular team at Google provided the web developer world with an update on the state of Angular 2. They were joined on stage by a member of the TypeScript team, Jonathan Turner, to also announce that Angular 2 will be built using TypeScript. Jonathan then demoed a preview of the upcoming TypeScript 1.5 release via an Angular 2 sample application.
درخواست مستندات
ASP.NET Web API - قسمت اول
ضمناً، پشتیبانی مایکروسافت از WCF REST API نیز به اتمام رسیده و پیشنهاد شده که از Web API استفاده کنید.
http://aspnet.codeplex.com/wikipage?title=WCF%20REST
پاسخ : هیچکدام!
برای نمونه دو مورد از محصولات مهم تجاری و پر درآمد مایکروسافت در مقیاس سازمانی SharePoint و Exchange server هستند (البته اینجا منظور برنامه web access مربوط به Exchange server است). جالب اینجا است که هر دو محصول، مبتنی بر دات نت فریم ورک سه و نیم بوده و از ASP.Net WebForms استفاده میکنند. تفاوت مهم آنها با نگارش سال 2007 هر کدام، استفاده از ASP.Net Ajax مایکروسافت در این محصولات است و همچنین استفادهی وسیع از توانمندیهای پاورشل 2 خصوصا امکان مدیریت از راه دور پاور شل 2 که برای مثال در برنامه web access مربوط به exchange server 2010 ، امکان مدیریت خود exchange server را نیز فراهم آورده است یا در SharePoint 2010 جایگزین stsadm شده است (هر چند stsadm هنوز موجود است اما منسوخ شده در نظر گرفته میشود).
به علاوه هر دو محصول فقط با ویندوزهای سرور 2008 به بعد، آن هم نسخهی 64 بیتی کار میکنند. (البته از آنجائیکه هستهی ویندوز 7 با هستهی ویندوز سرور 2008 نگارش R2 یکی است (یا حداقل بر مبنای یک code base هستند)، SharePoint 2010 را بر روی ویندوز 7 شصت و چهار بیتی هم میتوان جهت آزمایش و توسعه نصب کرد)
یک دورهی مدیریتی SharePoint 2010 را میتوانید در آدرس زیر مشاهده نمائید:
Microsoft SharePoint 2010 Administration
جهت اثبات این مدعا (استفاده از WebForms و نه MVC) دو تصویر ذیل به اندازهی کافی گویا هستند:
شیرپوینت 2010
Web Access در Exchange server 2010
در 5 سال آینده مواردی که در ادمه برشمرده خواهند شد، نقش بسیار مهمی را در دنیای برنامه نویسی و جهت گیریهای آن ایفا خواهند کرد (برای مثال اگر برای شما این سؤال مطرح است که هدف از WCF ، REST services ، سیلورلایت 3 و غیره چیست، این مقالهی کوتاه را مطالعه نمائید) :
الف) Object Relational Mapping
ORM یکی از بازیگرهای واضح خواهد بود. خصوصا پروژهای مانند Fluent NHibernate با ویژگیهای زیر:
- سابقهای 10 ساله (قسمت عمدهای از این سابقه به دنیای جاوا بر میگردد)
- امکان استفاده از انواع و اقسام دیتابیسها توسط آن
- پشتیبانی از Linq
- و ...
ب) نرم افزار به عنوان سرویس ( Software as a Service یا SaaS )
نرم افزار به عنوان سرویس یک مفهوم تجاری است که در آن مصرف کننده بر اساس نیازهایش هزینهی یک نرم افزار را خواهد پرداخت. بر این اساس برنامه نویسی در زمینههای طراحی و مدیریت دست خوش تغییرات عمدهای میشود. شاید نیازی به ذکر نباشد که حتی مایکروسافت نیز در حال برنامه ریزی برای این نوع از توسعه است.
پرداختن به SaaS نیازمند یک سری از ویژگیها است:
- سادگی توسعه و دستیابی: در این مدل تجاری، استفاده و دسترسی به نرم افزار مورد نظر باید بسیار ساده باشد. بر این اساس برنامههای تحت وب، یا برنامههای هاست شده توسط مرورگرها (مانند سیلورلایت) محبوبیت بیش از پیشی را خواهند یافت.
- قابلیت تنظیم و ماژولار بودن برنامهها: در این مدل نیاز است تا کاربر تنها هزینهی ماژولهایی را بپردازد که به آنها نیاز دارد و این امر سبب بازنگری در طراحی و توسعهی برنامههای موجود خواهد شد.
- نیاز به زیر ساخت بهینه و سریعی خواهد بود: از آنجائیکه کاربران بسیار ساده میتوانند از یک برنامه به برنامه و شرکتی دیگر رجوع کنند، برای بقا باید جنگید! نیاز به زیر ساختهایی وجود خواهد داشت که توسط آنها بتوان نیازهای کاربران را در حداقل زمان ممکن برآورده کرد و این موارد نیاز به آموختن یکی از فریم ورکهای مطرح موجود را خواهد داشت به همراه آموختن مباحث مدیریت پروژه، آشنایی با آزمونهای واحد، کنترل کیفیت ، یکپارچگی مداوم و امثال آن.
ج) پردازش ابری
پردازش ابری شبیه به آنچیزی که مایکروسافت Azure ارائه میدهد، نیز یکی از نتایج مفهوم تجاری SaaS است. تمرکز پردازش ابری بر روی ارائهی وب سرورها، مکانهای ذخیره داده و امثال آن است. به این صورت شما دیگر درگیر تهیه و پرداخت هزینه جهت راه اندازی دیتاسنتر ویژهی خود نخواهید شد و بسیاری از هزینههای شما کاهش خواهند یافت. بهره برداری تجاری گسترده از این روش با توجه به توسعهی فریم ورکهای ویژهی این نوع پردازشها، آموزش و غیره ، بین سالهای 2010 و 2015 شروع خواهد شد.
د) اجرای موازی
پردازش ابری اثرات خاص خودش را بر روی دنیای نرم افزار و برنامه نویسی خواهد گذاشت. این طبیعت توزیع شده سبب خواهد شد که در آینده از برنامه نویسیهای چند ریسمانی و مسایل همزمانی حاصل از آنها بیشتر بشنوید و نهایتا معماری برنامهها به سمت استفاده از روشهای زیر سوق خواهند یافت:
Message-based distributed architectures, i.e.: see NServiceBus, Mass Transit or Rhino Service Bus
ه) برنامههای غنی وب یا Rich Internet Applications
Rich Internet Applications یا RIA نقش مهمی را در SaaS بازی خواهند کرد و هدفگیری مایکروسافت در این باره ارائه Silverlight 3.0 و Microsoft .NET RIA Services است. هر چند این موارد راه طولانی (یکی دو ساله) را در پیش خواهند داشت تا به حد استانداردهای لازم برسند اما حرکتهای مهمی در این زمینه به شمار میروند.
برداشتی آزاد از Development in 5 Years Would be Affected by