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

نام تاپیک: Dagger چیه و چه کاربردی داره

  1. #1

    Dagger چیه و چه کاربردی داره

    تو این مباحث به فریم ورکی برخوردم به اسم Dagger 2 این کاربردش چی هستش و منظور از inject کردن رو درست نمیتونم بفهمم چه کاربردی داره. ممنون میشم اگه از دوستان کسی اطلاعاتی داره تو این زمینه

  2. #2

    نقل قول: Dagger چیه و چه کاربردی داره

    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    تو این مباحث به فریم ورکی برخوردم به اسم Dagger 2 این کاربردش چی هستش و منظور از inject کردن رو درست نمیتونم بفهمم چه کاربردی داره. ممنون میشم اگه از دوستان کسی اطلاعاتی داره تو این زمینه
    این فریم ورک مانند spring , guice , ... ذاتا جهت تزریق وابستگی مورد استفاده قرار می گیرند. در واقع کلاسها به سرویس های (پیاده سازی کلاسهای دیگر) دیگر وابسته اند و این فریم ورکها شامل ابزاری جهت مدیریت و تزریق این وابستگی ها هستند. در واقع شما به جای استفاده مستقیم از new برای ایجاد یک object از فریم ورک می خواهید که پیاده سازی مناسب یک interface خاص را در اختبار شما قرار دهد.

    اطلاعات بیشتر http://www.martinfowler.com/articles/injection.html

  3. #3

    نقل قول: Dagger چیه و چه کاربردی داره

    ممنون. چیزی که برام الان نامفهوم هستش انوتیشن های providers و singleton هستش. با این مفاهمیش آشنا هستید؟ اگه در مورد کامپوننت و ماژول هم توضیحی بدید که واقعا ممنون میشم

  4. #4

    نقل قول: Dagger چیه و چه کاربردی داره

    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    ممنون. چیزی که برام الان نامفهوم هستش انوتیشن های providers و singleton هستش. با این مفاهمیش آشنا هستید؟ اگه در مورد کامپوننت و ماژول هم توضیحی بدید که واقعا ممنون میشم
    نمی دونم شما با مفهوم انوتیشن مشکل دارید یا این آنوتیشن های خاص.
    آنوتیشن ها فارغ از تعریف دقیقشون راهی برای ایجاد ارتباط بین برنامه نویس و فریم ورک ایجاد می کنند. شما با اضافه کردن این اطلاعات به کد خود از فریم ورک می خواهید که کار خاصی انجام دهد. به طور مثال وقتی @Entity را به کلاس اضافه می کنید ORM شما هنگام اسکن کردن کلاسها وقتی که به این کلاس میرسد به دلیل داشتن این annotation متوجه می شود که شما نیاز به ذخیره سازی این کلاس در دیتا بیس دارید. یا @singleton در EJB ها به سرور شما می گوید که فقط یک نمونه آبجکت برای همه کاربران ایجاد کند.

    ماژول و کامپوننت و سرویس هم مفاهیم کلی هستند. ماژول تعاریف زیادی داره که از یه قطعه کد مثل یک تابع تا یه کلاس کامل(بسته بندی داده ها و pluggability , ...) شامل میشه. کامپوننت قطعه نرم افزاریه که معمولا کس دیگه ای ایجاد کرده و شما استفاده می کنید و معمولا شما به سورس دسترسی ندارید و فقط از قابلیت ها استفاده می کنید. سرویس شبیه کامپوننت هستش ولی بیشتر برای دسترسی راه دور(خارج برنامه شما) مورد استفاده قرار می گیره.

  5. #5

    نقل قول: Dagger چیه و چه کاربردی داره

    سلام. من با مفاهیمی که اینجا برای dagger استفاده میشه مشکل دارم منظورم نوع استفاده از اونها برای تولید فرایند اینجکشن هستش.

  6. #6

    نقل قول: Dagger چیه و چه کاربردی داره

    به این مثال یه نگاهی بندازید شاید مشکلتون حل شد.
    http://www.vogella.com/tutorials/Dagger/article.html
    تا بخش چهار به اکثر مواردی که شما مشکل دارید با یک مثال ساده پرداخته شده است.
    در کل این بحث خصوصا برای بچه هایی که قبلا با .NET کار کردند کمی گنگ هستش.
    در این مثال کلاس BackendService دو وابستگی داره یکی به کلاس User و دیگری به serverUrl. اولی مستقیم و دومی از طریق constractor تزریق میشه.
    حال که وابستگی ها رو تعریف کردیم باید مشخص کنیم که از کجا این وابستگی ها تامین شوند. کلاسهای BackEndServiceModule و UserModule این وظیفه را بر عهده دارند.
    توجه داشته باشید که شما ممکن است بسته به شرایط بیش از یک ماژول برای یک وابستگی داشته باشید پس از MyComponent برای مشخص کردن اینکه کدام ماژول برای تامین وابستگی های BackendService مورد استفاده قرار گیرد استفاده می شود. در واقع MyComponent مثل یک چسب BackendService و BackEndServiceModule رو به می چسبونه.
    همه این کارها برای جدا کردن پیاده سازی ها از یکدیگر صورت می گیرد. به طور مثال شما به راحتی میتوانید وابستگی های مختلف را بدون دستکاری کلاس اصلی تغییر دهید که با استفاده از new در کلاس BackendService غیر ممکن بود.

  7. #7

    نقل قول: Dagger چیه و چه کاربردی داره

    دستتون درد نکنه واقعا ممنونم ازتون. مقاله رو میخونم جایی مشکل داشتم تو فهمش حتما ازتون کمک میگیرم

  8. #8

    نقل قول: Dagger چیه و چه کاربردی داره

    سلام. من این DI رو برای یکی از پروژه هام پیاده سازی کردم. کلاسهایی مثل Picasso-Retrofit الان داخل اکتیویتی مشکلی ندارم و کار میکنه ولی وقتی میخام داخل یه کلاس دیگه استفاده کنم NULL میگیرم. پیاده سازی هایی که انجام دادم به این شکل هستش که تو این لینک گذاشتم

    https://gist.github.com/MahdiPishguy...a017b6499d4fad

    مشکل این هستش که داخل اکتیویتی ActivityRegister من یه متد دارم به اسم getRepositories که از یه کلاس دیگه داخل استفاده کردم به اسم GetLatestRepositories ولی برای GithubService که اینجکت کردم خطای نال میگیرم

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

  1. http://960.gs/ چیه و چه کاربردی داره ؟
    نوشته شده توسط yasharhi در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: پنج شنبه 24 اسفند 1391, 02:56 صبح
  2. کد Shared چه کاربردی داره
    نوشته شده توسط sh2007 در بخش VB.NET
    پاسخ: 7
    آخرین پست: شنبه 15 بهمن 1390, 23:04 عصر
  3. تابع CreateObject توی vb چه کاربردی داره و معادلش تو #c چیه؟
    نوشته شده توسط ahmad156 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 24 خرداد 1390, 15:06 عصر
  4. این نرم افزار در اکسس چه کاربردی داره
    نوشته شده توسط mbr485 در بخش Access
    پاسخ: 3
    آخرین پست: پنج شنبه 25 شهریور 1389, 10:11 صبح
  5. پاسخ: 3
    آخرین پست: شنبه 25 مهر 1388, 12:07 عصر

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

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