نام در حال استفاده

ساخت وبلاگ

یک برچسب در حال حاضر با نام شاخه ارائه شده وجود دارد. بسیاری از دستورات GIT نام برچسب و شاخه را می پذیرند ، بنابراین ایجاد این شاخه ممکن است باعث رفتار غیر منتظره شود. آیا مطمئن هستید که می خواهید این شاخه را ایجاد کنید؟

Windsor / Docs / Register-Imperents-One-One. MD

  • به پرونده T بروید
  • به خط L بروید
  • مسیر کپی
  • پیوند ثابت را کپی کنید

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

 

  • با دسک تاپ باز کنید
  • مشاهده خام
  • محتوای خام را کپی کنید و محتوای خام را کپی کنید

     

محتوای خام را کپی کنید

محتوای خام را کپی کنید

ثبت اجزای یک به یک

نمونه های اولیه ثبت نام

نقطه شروع برای ثبت هر چیزی در کانتینر ، روش ثبت کانتینر است که دارای یک یا چند اشیاء iregistration به عنوان پارامتر است. ساده ترین راه برای ایجاد آن اشیاء استفاده از static castle. microkeel. registration.component است. این روش برای روش ثبت نام مؤلفه ای است که می توانید برای پیکربندی بیشتر ثبت نام از آن استفاده کنید.

ℹ کد ثبت نام خود را جدا کنید: این یک عمل توصیه شده برای نگه داشتن کد ثبت نام در یک کلاس اختصاصی (ES) اجرای iWindsorinstaller است.

ℹ ابتدا اجزای زیرساختی را نصب کنید: برخی از مؤلفه ها ممکن است به یک تسهیلات یا پسوند دیگر برای ثبت صحیح به ظرف اصلی نیاز داشته باشند. به این ترتیب توصیه می شود قبل از شروع ثبت نام اجزای خود ، همیشه امکانات ، زیر سیستم های سفارشی ، مشارکت کنندگان تولید مدل مؤلفه و غیره را ثبت کنید.

برای ثبت یک نوع در ظرف

این نوع MyServiceImpl را به عنوان سرویس MyServiceImpl با سبک زندگی پیش فرض (Singleton) ثبت می کند.

برای ثبت نوع به عنوان سرویس غیر پیش فرض

توجه داشته باشید که برای و اجرای آن نیز دارای اضافه بار غیر ژنتیکی است.

ℹ خدمات و مؤلفه ها: می توانید اطلاعات بیشتری در مورد خدمات و مؤلفه ها در اینجا بیابید.

برای ثبت یک نوع عمومی

فرض کنید شما یک رابط iRepository دارید ، با Nhrepository به عنوان اجرای.

شما می توانید یک مخزن برای هر کلاس نهاد ثبت کنید ، اما این مورد نیاز نیست.

یک اریپوسیتوری<>(به اصطلاح نوع عمومی باز) ثبت نام ، بدون مشخص کردن نهاد ، کافی است.

انجام این کار مانند این قانونی نیست و کد فوق کامپایل نمی شود. در عوض شما باید از TypeOF () استفاده کنید

پیکربندی سبک زندگی مؤلفه

هنگامی که سبک زندگی به صراحت تنظیم نشده باشد ، از سبک زندگی پیش فرض Singleton استفاده می شود.

مؤلفه های بیشتری را برای همان سرویس ثبت کنید

شما می توانید این کار را به سادگی با ثبت نام های بیشتر برای همان سرویس انجام دهید.

هنگامی که یک مؤلفه به iMyservice وابستگی دارد ، به طور پیش فرض ImyService را که ابتدا ثبت شده است دریافت می کند (در این مورد MyServiceImpl).

ℹ در Windsor First یک برنده: در قلعه ، اجرای پیش فرض برای یک سرویس اولین اجرای ثبت شده است. این به عنوان مثال با AutoFAC متفاوت است ، جایی که پیش فرض آخرین اجرای ثبت شده است (http://code. google.com/p/autofac/wiki/componentcreation).

شما می توانید مؤلفه ثبت شده بعدی را وادار کنید تا از طریق روش ISDEFAULT به عنوان پیش فرض تبدیل شوند.

در مثال بالا ، هر مؤلفه ای که به Imyservice وابسته باشد ، به طور پیش فرض نمونه ای از دیگران را دریافت می کند ، حتی اگر بعداً ثبت شد.

البته می توانید از کدام یک مؤلفه که به آن احتیاج دارد استفاده کنید. این کار با غلبه بر سرویس انجام می شود.

هنگامی که به صراحت با کانتینر تماس می گیرید. RESOLVE () (بدون مشخص کردن نام) ، ظرف نیز اولین مؤلفه ثبت شده را برای iMyservice (MyServiceImpl در مثال فوق) برمی گرداند.

ℹ نام های منحصر به فردی را برای مؤلفه های تکراری ارائه دهید: اگر می خواهید بیش از یک بار همان اجرای را ثبت کنید ، حتماً نامهای مختلفی را برای مؤلفه های ثبت شده ارائه دهید.

نمونه موجود را ثبت کنید

ثبت یک شی موجود به عنوان یک سرویس امکان پذیر است.

⚠ ثبت نام نمونه زندگی را نادیده می گیرد: وقتی نمونه موجود را ثبت می کنید ، حتی اگر سبک زندگی را مشخص کنید ، نادیده گرفته می شود. همچنین به عنوان مثال ، نوع اجرای را برای شما تعیین می کند ، بنابراین اگر سعی کنید این کار را به صورت دستی انجام دهید ، یک استثناء پرتاب می شود.

با استفاده از یک نماینده به عنوان کارخانه مؤلفه

شما می توانید از یک نماینده به عنوان یک کارخانه سبک وزن برای یک مؤلفه استفاده کنید:

با استفاده از روش FectiveMethod دارای دو بار اضافه دیگر است که می تواند در صورت لزوم دسترسی به هسته و زمینه ایجاد را در اختیار شما قرار دهد.

نمونه ای از استفاده از FectiveMethod با اضافه بار هسته (مبدل)

علاوه بر استفاده از روش FactoryMethod ، یک روش استفاده وجود دارد.(بدون پسوند "روش" :-)). می توان آن را به عنوان یک نسخه خاص از روش استفاده از FectiveMethod در نظر گرفت ، که یک کارخانه موجود را از ظرف برطرف می کند و به شما امکان می دهد از آن برای ایجاد نمونه ای از خدمات خود استفاده کنید.

⚠ از استفاده از Factory خودداری کنید: توصیه می شود از استفاده از FactoryMethod استفاده کنید و هنگام ایجاد خدمات خود از طریق کارخانه ها از استفاده از Factory خودداری کنید. با استفاده از Fective در نسخه های بعدی منسوخ/حذف می شود.

قبل از استفاده ، گاهی اوقات لازم است که یا نمونه ایجاد شده را بازرسی یا اصلاح کنید. برای انجام این کار می توانید از روش OnCreate استفاده کنید

این روش دارای دو بار اضافه است. یکی که با یک نماینده کار می کند که یک نمونه Ikeel و تازه ایجاد شده به آن منتقل می شود. دیگری فقط نمونه تازه ایجاد شده را می گیرد.

ℹ OnCreate فقط برای مؤلفه های ایجاد شده توسط کانتینر کار می کند: این روش برای اجزای موجود در آن استفاده نمی شود که نمونه در خارج از کشور ارائه می شود (مانند هنگام استفاده از روش نمونه). فقط برای اجزای ایجاد شده توسط ظرف نامیده می شود. این همچنین شامل مؤلفه هایی است که از طریق برخی از امکانات (تسهیلات از راه دور ، تسهیلات پشتیبانی کارخانه) ایجاد شده است

برای مشخص کردن نامی برای مؤلفه

نام پیش فرض برای یک مؤلفه ثبت شده ، نام کامل از نوع اجرای آن است. می توانید با استفاده از روش نامگذاری شده () نام دیگری را مشخص کنید.

تهیه مؤلفه برای استفاده از وابستگی (سرویس بیش از حد)

اگر یک مؤلفه به یک مؤلفه دیگر نیاز داشته باشد یا بخواهد ، به این وابستگی گفته می شود. هنگام ثبت نام ، می توانید صریحاً تنظیم کنید که از کدام مؤلفه استفاده کنید.

ثبت نام مؤلفه با چندین سرویس

استفاده از مؤلفه های واحد برای بیش از یک سرویس امکان پذیر است. به عنوان مثال اگر شما یک کلاس فوبار دارید که هر دو رابط IFOO و IBAR را پیاده سازی می کند ، می توانید ظرف خود را پیکربندی کنید تا در صورت درخواست IFOO و IBAR همان سرویس را برگردانید. به این توانایی نوع حمل و نقل گفته می شود.

ساده ترین راه برای مشخص کردن حمل و نقل نوع استفاده از اضافه بار چند منظوره-پارامتری مؤلفه است. برای روش

حداکثر چهار سرویس ارسال شده اضافه بار وجود دارد که همیشه باید کافی باشد. اگر متوجه شدید که بیشتر به شما احتیاج دارید ، به احتمال زیاد اصل مسئولیت واحد را نقض می کنید ، و ممکن است بخواهید مؤلفه غول پیکر خود را به موارد بیشتری بپردازید ، هرکدام فقط یک کار را انجام می دهند.

همچنین یک اضافه بار غیر ژنتیکی وجود دارد ، که در صورت نیاز به پشتیبانی از ژنرال های باز یا به هر دلیلی نمی توانید از نسخه عمومی استفاده کنید.

علاوه بر این ، شما می توانید از روش Forward استفاده کنید ، که رفتارهای یکسان و اضافه بار را برای روش در معرض دید قرار می دهد.

تأمین وابستگی های درون خطی

همه چیز نباید یک جزء در ویندزور باشد. برخی از مؤلفه ها به پارامترهایی مانند رشته های اتصال ، اندازه بافر و غیره نیاز دارند. شما می توانید این پارامترها را به عنوان وابستگی درون خطی ارائه دهید.

پلتفرمهای تجاری...
ما را در سایت پلتفرمهای تجاری دنبال می کنید

برچسب : نویسنده : حامد بهداد بازدید : 66 تاريخ : جمعه 4 فروردين 1402 ساعت: 20:14