نمایش نتایج 1 تا 34 از 34

نام تاپیک: مشکل جدی با Dependency Injection

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #18
    کاربر دائمی آواتار hp1361
    تاریخ عضویت
    دی 1384
    محل زندگی
    تهران
    پست
    750

    نقل قول: مشکل جدی با Dependency Injection

    سلام

    اولا که هیچ وقت در کد کلاس هات از کد زیر استفاده نکن

    System.Web.HttpContext.Current.Response.Write("Sub mit Order ;");


    چون این کار هم خوانایی کدهات رو پایین میاره و هم تست پذیری کدها رو با مشکل مواجه میکنه(در مورد تست پذیری همینقدر بگم که با استفاده از اون میتونیم محیط واقعی اجرای برنامه رو شبیه سازی کنیم و برنامه رو بقولی زیر بار ببریم و نتیجه کار رو قبل از تحویل برنامه به مشتری ببینیم)

    راستی! چرا از DI می خواهیم استفاده کنیم؟ جواب : توسعه پذیری!

    خوب بریم سراغ مثال شما

    در این مثال شما درون کلاس Order از کلاس DataClassesDataContext استفاده کرده اید. فرض کنیم شما کلاس DataClassesDataContext رو برای کار با دیتابیس SQL نوشته اید و حالا نیاز شده از کلاس دیگه ای بنام DataClassesDataContextMySQL استفاده کنید که برای کار با MySQL نوشته اید! اونوقت همون بحث قبلی پیش میاد. باید تغییراتی رو در کلاس Order اعمال کنیم تا بتونیم از کلاس DataClassesDataContextMySQL استفاده کنیم!

    راه حل چیه؟همون آموزش های بالا!

    ابتدا باید وابستگی رو با استفاده از constructor injection از بین ببریم. لذا داریم:

    public class Order
    {
    private DataClassesDataContext _dataClassesDataContext;

    public Order(DataClassesDataContext dataClassesDataContext)
    {
    _dataClassesDataContext = dataClassesDataContext;
    }

    public void SaveOrder(Product product)
    {
    _dataClassesDataContext.tbl_products.InsertOnSubmi t(new tbl_product
    {
    group = product.group,
    Name = product.Name,
    Price = product.Price
    });
    _dataClassesDataContext.SubmitChanges();
    }
    }
    آخرین ویرایش به وسیله hp1361 : پنج شنبه 08 خرداد 1393 در 21:42 عصر

تاپیک های مشابه

  1. فوری - مشکل جدی در ارتباط با Restore کردن
    نوشته شده توسط kathy11ir در بخش SQL Server
    پاسخ: 5
    آخرین پست: یک شنبه 07 خرداد 1385, 08:05 صبح
  2. یک مشکل جدی در Binding
    نوشته شده توسط mahdi_negahi در بخش ASP.NET Web Forms
    پاسخ: 6
    آخرین پست: سه شنبه 23 اسفند 1384, 13:00 عصر
  3. مشکل جدی با اکسس و اعمال تغییرات
    نوشته شده توسط newdesign در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 12
    آخرین پست: پنج شنبه 26 آبان 1384, 01:46 صبح
  4. مشکل جدی در زمینه provider مربوط به adodc
    نوشته شده توسط amirhosein در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: چهارشنبه 15 تیر 1384, 22:56 عصر
  5. یک مشکل جدی ( Delphi & SQL)
    نوشته شده توسط سعود در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 1
    آخرین پست: شنبه 28 آذر 1383, 00:28 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •