در پست قبلی با نوشتن یک تست ساده، با مفهوم TDD بیشتر آشنا شدیم .در این پست قصد بر این است که به وسیله Mvc.Net شروع به نوشتن تستهای جدیتر کرده و از مزایای آن بهره ببریم .برای شروع یک پروژه Mvc.Net ساخته و Nunit را در آن نصب میکنیم.مدل زیر را در پوشه مدلها میسازیم: public class Idea
{
public static List<Idea> Ideas = new List<Idea>
{
new Idea{Content="سایتی که در ایده به ...
در مطلب قبل شما با TDD آشنا شدید اکنون بهتر است با یک مثال نشان دهم منظور از Test Driven Development چیست. برای شروع کافی است یک پروژه کنسول ساخته و Nunit را از طریق کنسول Nuget نصب کنید.PM> Install-Package NUnitمعمولا برای کلاسهای تست یک پروژه جدا در نظر گرفته میشود، ولی برای شروع میتوانید از همان پروژه اصلی استفاده کنید.پس از نصب شدن Nunit می توانیم شروع به ساختن کلاسهای تست کنیم: [TestFixture]
public class HelloWorldTest ...
نوشتن تست برای نرم افزار امری ضروریست، چه پس از تولید نرم افزار چه در حین تولید، در کل به وسیله تست میتوان از به وجود آمدن باگها در هنگام گسترش دادن برنامه تا حد قابل توجهی جلوگیری کرد.از معروف ترین روشهای تست میتوان عناوین زیر را نام برد:Unit testIntegration testSmoke testRegression testAcceptance test Test Driven Development یک پروسه تولید نرم افزار است که برای اولین بار توسط Kent_Beck معرفی شد.TDD شامل 4 مرحله کلی است:نوشتن تست قب ...
در مبحث استفاده از خاصیت Local در Entity Framework ملاحظه نمودید که خاصیت Local به راحتی میتواند از رفت و آمدهای بی جهت به دیتابیس جلوگیری کند.حال قصد معرفی یک collection را به نام ObservableCollection دارم.
همانطور که از نامش پیداست برای مشاهده و تحت نظر قرار دادن دادههای اضافه شده یا پاک شده کاربرد دارد. به کد زیر دقت کنید.
private static void ListenToLocalChanges()
{
using (va ...
زمانی که از LINQ To Entity استفاده میکنیم، با هر بار اجرای یک کوئری، این کوئری به سمت دیتابیس ارسال شده و اطلاعات مورد نظر را بازیابی میکند. حال اگر ما موجودیت جدیدی را به Context جاری اضافه کرده ولی آن را ذخیره نکرده باشیم، به علت عدم وجود موجودیت در دیتابیس (در حافظه وجود دارد)
کوئری
ارسالی ما این موجودیت جدید را شامل نمیشود. البته شایان ذکر است زمانیکه از متد Find استفاده میکنیم، به صورت پیش فرض ابتدا داخل حافظه کاوش شده و در صور ...
تو سری پستهای قبلی که براتون گذاشتم به تغییرات و ویژگیهای بوجود آمده در MVC4 اشاره کردم یکی دیگه از این ویژگیها Single Page Application (SPA) هستش که به ما امکان ساخت برنامههای تعاملی سمت کلاینتو میده و مارو کمک میکنه. که از نسخه MVC 4 Beta در دسترس قرار گرفت.البته به گفته خود مایکروسافت نسخه اصلی اون برای عرضه به همراه نسخه کامل شده MVC4 آماده نخواهد شد.میشه گفت نسبت به خیلی از ویژگیهای جدید کمتر روش تبلیغ شده حالا یا بخاطر آماده ن ...
یکی دیگه از امکاناتی که به MVC4 اضافه شده و برام جالب بود پشتیبانی توکار از مرورگرهای موبایل و تبلتها است به این صورت که اگر به عنوان مثال یک فایل
Layout.cshtml داشته باشیم و یک فایل
Layout.Mobile.cshtml بسازیم MVC به صورت خودکار در زمانی که کاربر به وسیله موبایل یا تبلت به سایت ما وارد میشود تشخیص داده و
Layout مربوط به موبایل را که
Layout.Mobile.cshtml اعمال میکند.در این رابطه کتابخانه JQuery افزونه بسیار قوی را ارائه دا ...
همانطور که در پست قبلی اشاره کردم نسخه جدید MVC با تغییرات جهت بهبود کاربری همراه بوده است.در این پست قصد دارم شما رو با ویژگی جدید Bundling and Minification بر روی فایلهای Css و JavaScript آشنا کنم.اگر یک پروژه جدید به وسیله MVC 4 ابجاد کنید شاهد تغییراتی بر روی فایلهای _Layout.cshtml and Global.asax.cs خواهید بود.این تغییر شامل اضافه شدن System.Web.Optimization and BundleTable.Bundles به
Layout.cshtml است.
<link ...
داخل وبلاگها و وب سایتهای فارسی زبان(مربوط به برنامه نویسی) که جستجو میکنیم شاهد کلمه ای هستیم که تازه به چشممان میخورد:Agile(چابک). البته لازم به ذکر است این کلمه چیز جدیدی نیست و سابقه ای در حدود 10 سال دارد(February 2001 ).که جمعی از برنامه نویسان بیانیه ای را تحت عنوان چابک (Agile ) تهیه کردند که متن آن به شرح زیر است:
ما با توسعه نرم افزار و کمک به دیگران در انجام آن . در حال کشف راههای بهتری برای توسعه نرم افزار هستیم. از ا ...
همانطوری که میدونید نسخه
MVC 4 RC در دسترس قرار گرفته و خالی از لطف نیست که یک بررسی درباره امکانات جدیدش انجام بشه.ابتدا سعی میکنم یک لیست کلی از امکانان این تکنولوژی داشته باشیم و بعد نگاهی هم به Razor و تغییراتش خواهیم داشت.
ASP.NET Web API
Refreshed and modernized default project templates
New mobile project template
Many new features to support mobile apps
...