نوشتن Assert در کدهای تست، وابستگی مستقیم به انتخاب کتابخانه تست دارد. برای مثال:
NUnit: using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
namespace TestLibrary
{
[TestFixture]
public class MyTest
{
[Test]
public void Test1()
{
var expectedValue = 2;
Assert.T ...
چند روز پیش فرصتی پیش آمد تا بتوانم مروری بر مطلب منتشر شده درباره AOP داشته باشم. به حق مطلب مورد نظر، بسیار خوب و مناسب شرح داده شده بود و همانند سایر مقالات جناب نصیری چیزی کم نداشت. اما امروز قصد پیاده سازی یک مثال AOP، با استفاده از Microsoft Unity Application Block را به عنوان IOC Container دارم. اگر شما هم، مانند من از UnityContainer به عنوان IOC Container در پروژههای خود استفاده میکنید نگران نباشید. این کتابخانه به خوبی از مب ...
برای ساخت یک WCF Client یا دسترسی به یک سرویس WCF دو راه وجود دارد. استفاده از WCF Proxy استفاده از ChannelFactory قصد دارم طی یک مقایسه کوتاه این دو روش را بررسی کنیم: WCF Proxy: Proxy در واقع یک کلاس CLR است که به عنوان نماینده یک اینترفیس که از نوع Service Contract است مورد استفاده قرار میگیرد. یا به زبان ساده تر، یک Proxy در واقع نماینده Service Contract ای که سمت سرور پیاده سازی شده است در سمت کلاینت خواهد بود. P ...
با گسترش روز افزون برنامههای تحت وب، نیاز به یک
سری ابزار برای تست و اطمینان از نحوه عملکرد صحیح کدهای نوشته شده احساس
میشود. Jasmine یکی از این ابزارهای قدرتمند برای تست کدهای JavaScript
است.
چندی پیش در سایت جاری چند مقاله خوب توسط یکی از دوستان درباره Qunit
منتشر شد. Qunit یک ابزار قدرتمند و مناسب برای تست کدهای جاوااسکریپت
است و در اثبات صحت این گف ...
مقید سازی رویداد کلیک
Click Binding روشی است برای اضافه کردن یک گرداننده رویداد در زمانی که قصد داریم یک تابع جاوااسکریپتی را در هنگام کلیک بر روی المان مورد نظر فراخوانی کنیم. از این مقید سازی عموما در عناصر button و input و تگ a استفاده میشود. اما در حقیقت در تمام عناصر غیر پنهان صفحه مورد استفاده قرار میگیرد. <div>
Number Of Clicks <span data-bind="text: numberOfClicks"></span> times
< ...
چندی پیش یکی از دوستان درباره فریم ورک ExtJs سوالاتی را پرسیده بود که تصمیم گرفتم جوابهای مورد نظر را به صورت عمومی در قالب یک پست منتشر کنم. ExtJs چیست؟ چه زمانی کاربرد دارد؟ تفاوت آن با سایر فریم ورکهای جاوااسکریپ در چیست؟
شاید خیلی از شما با MODX آشنایی داشته باشید یا حتی با این CMS کار کرده باشید. اگر این طور است پس حتما با پنجرههای زیبا و کامپو ...
در پست قبلی با کلیات RequireJs آشنا شدید. در این به بررسی و پیاده سازی مثال قبل در قالب یک پروژه Asp.Net MVC میپردازم:
ابتدا یک پروژه Asp.Net MVC ایجاد کنید. در فولدر scripts تمام فایلهای
جاوااسکریپ پروژه قرار خواهند داشت. اگر قصد داشته باشیم که فایلهای
جاوااسکریپی سایر فریم ورکها را استفاده نماییم (مثل backbone.js و ExtJs
و...) برای طبقه بندی بهتر فایل ها، بهتر است که یک فولدر ب ...
در طراحی و توسعه پروژههای تحت وب در مقیاس بزرگ برای اینکه مدیریت پروژه راحتتر شود کدهای مورد نظر را در چند ماژول قرار میدهند در نتیجه کدهای پروژه در بلاکهای کوچکتر قرار خواهند داشت. نوشتن پروژه به صورت ماژولار قابلیت استفاده مجدد از کدهای برنامه را افزایش میدهد، علاوه بر آن مدیریت پروژه در فاز نگهداری آسانتر خواهد شد؛ از طرفی دیگر وابستگی بین ماژولها و تامین آن ها، همواره مهمترین مفهوم برای توسعه دهندگان پروژههای وب است. Requ ...
در ادامه مباحث قبلی ، در این پست به بررسی سایر قابلیتهای Observableها در KO خواهم پرداخت.
Computed Observables
Computed Observablesها به واقع خواصی هستندکه از ترکیب چند خاصیت دیگر به دست میآیند یا برای به دست آوردن مقادیر آنها باید یک سری محاسبات را انجام داد. برای مثال به ViewModel زیر دقت کنید: var personViewModel = {
firstName: ko.observable("Masoud"),
lastName: ko.observable("Pakdel")
...
در پست قبلی
با مفاهیم و ویژگیهای کلی KO آشنا شدید. KO از الگوی طراحی MVVM استفاده
میکند. از آن جا که یکی از پیش نیازهای KO آشنایی اولیه با مفاهیم View و
Model است نیاز به توضیح در این موارد نیست اما اگر به هر دلیلی با این
مفاهیم آشنایی ندارید میتوانید از اینجا
شروع کنید. اما درباره ViewModel که کمی مفهوم متفاوتی دارد، این نکته
قابل ذکر است که KO از ViewModel برای ارتباط مستقیم بین View و Model
استفاده میکن ...