نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: تزریق وابستگی در فریم ورک اسپرینگ (Dependency Injection)

  1. #1
    عضو انجمن saeed.mihan آواتار ها
    تاریخ عضویت
    Mar 2015
    نوشته ها
    230
    تشکر تشکر کرده 
    37
    تشکر تشکر شده 
    191
    تشکر شده در
    129 پست

    111 تزریق وابستگی در فریم ورک اسپرینگ (Dependency Injection)

    به نام خدای مهربان، در ادامه مطالب مربوط به فریمورک اسپرینگ، در این مقاله با مبحث تزریق وابستگی آشنا خواهیم شد.
    تزریق وابستگی (DI)، یک الگوی طراحی است که وابستگی ها را از کد برنامه حذف می کند. این کار باعث می شود مدیریت و تست برنامه راحت تر شود. تزریق وابستگی، کد برنامه را اصطلاحا اتصال ضعیف (loosely coupled) می کند.

    برای اینکه DI را بهتر درک کنیم، ابتدا بهتر است در مورد Dependency Lookup (DL) بدانیم:
    DLروشی است که در آن منابع در صورت تقاضا دریافت می شوند. راه های مختلفی برای دریافت یک منبع وجود دارد مثلا:
    A obj = new AImpl(); در این روش دستیابی به منبع، که در اینجا یک نمونه از کلاس A است، مستقیما با استفاده از کلمه کلیدی new صورت گرفته است. روش دیگر factory method است. factory به object ای گفته می شود که برای ایجاد سایر object ها مورد استفاده قرار می گیرد. این روش بصورت زیر است:
    A obj = A.getA(); در این رویکرد، برای دستیابی به منبع مورد نظر خود (یعنی یک نمونه از کلاس A) از فراخوانی factory method استاتیک getA استفاده کردیم.
    روش دیگر به اینصورت است که با استفاده از JNDI (Java Naming Directory Interface) منبع مورد نیاز را بدست آوریم:
    Context ctx = new InitialContext();
    Context environmentCtx = (Context) ctx.lookup("java:comp/env");
    A obj = (A)environmentCtx.lookup("A"); بنابراین می بینید که روش های دستیابی به منابع بسیار متنوع است. حال بیایید مشکل موجود در این رویکرد را ببینیم.

    مشکلات Dependency Lookup:

    در کل دو مشکل اصلی در DL وجود دارد:
    اتصال قوی (tight coupling): DL موجب می شود کد برنامه ما اتصال کامل باشد. بنابراین اگر منابع عوض شود نیاز به تغییرات بسیاری در کد برنامه خواهیم داشت.
    تست نه چندان ساده: این روش در زمان تست برنامه کاربردی مشکلات بسیاری ایجاد می کند، بخصوص در تست black box.

    تزریق وابستگی

    تزریق وابستگی یک الگوری طراحی است که منجر می شود وابستگی ها از کد برنامه حذف شود. در این روش اطلاعات لازم را از طریق یک منبع خارجی مانند فایل XML در اختیار برنامه قرار می دهیم. به همین دلیل کد برنامه حالت اتصال ضعیف پیدا کرده و تست آن ساده تر می شود. در این روش کد را بصورت زیر می نویسیم:
    کد:
     class Employee{  
    Address address;    
    Employee(Address address){  
    this.address=address;  
    }  
    public void setAddress(Address address){  
    this.address=address;  
    }  
    }
    در مورد کد بالا، نمونه ای از کلاس Address توسط منبع خارجی مانند فایل XML و همینطور با استفاده از سازنده یا متود setter فراهم شده است.

    روش های DI در فریمورک اسپرینگ

    برای داشتن تزریق وابستگی در فریمورک اسپرینگ، دو روش وجود دارد:

    • با استفاده از سازنده
    • با استفاده از متود setter

    در مقاله های آتی در مورد این دو روش بیشتر صحبت خواهیم کرد.



    منبع: میهن لرن
    مشاهده آموزش های صفر تا صد سئو، دیجیتال مارکتینگ، شبکه: میهن لرن

  2. تعداد تشکر ها از saeed.mihan به دلیل پست مفید


  3. # ADS




     

  4. #2
    عضو انجمن alirezakaj آواتار ها
    تاریخ عضویت
    Jul 2015
    محل سکونت
    crypto
    نوشته ها
    157
    تشکر تشکر کرده 
    129
    تشکر تشکر شده 
    200
    تشکر شده در
    154 پست

    پیش فرض پاسخ : تزریق وابستگی در فریم ورک اسپرینگ (Dependency Injection)

    جهت کنجکاوی میپرسم شما برنامه نویسی crypter کار کردین ؟
    آخه این یکی از روش های کریپت هست
    کانال خبری ویژه پیرامون برترین اخبار کریپتوکارنسی این کانال صرفا جنبه ترید فاندامنتال دارد @cryptofundanews

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. Dependency Injection چیست؟
    توسط toltek در انجمن ASP-ASP.net-Access-MSSQL
    پاسخ ها: 0
    آخرين نوشته: May 30th, 2017, 13:12
  2. آموزش بستن باگ SQL injection در PHP
    توسط ParnianData در انجمن PHP-MySQL
    پاسخ ها: 6
    آخرين نوشته: January 13th, 2016, 00:27
  3. تزریق کدهای مخرب به سرور
    توسط milad1363 در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: July 28th, 2015, 09:56
  4. مفهوم حملات تزریق کد و راه های مقابله با آن
    توسط name3 در انجمن مباحث و منابع آموزشي
    پاسخ ها: 1
    آخرين نوشته: January 14th, 2014, 01:04
  5. خرید سرور x5 هتزر
    توسط Warez-Host.IR در انجمن درخواست سرور اختصاصی
    پاسخ ها: 14
    آخرين نوشته: November 18th, 2010, 15:21

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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