معکوس کردن کنترل و واردکردن وابستگی ها 2 راه مرتبط برای شکستن وابستگی ها در نرم افزار شماست. Inversion of Control (IoC) یعنی اشیا دیگر اشیا را ایجاد نمیکند. در عوض، اشیا مورد نیاز خود را از منابع خارجی دریافت میکنند. Dependency Injection (DI) یعنی وارد کردن بدون معکوس کردن اشیا. معمولا با استفاده از کامپوننت های فریم ورک که پارامترهای سازنده رد کرده و در مشخصه ها می گنجاند. مارتین فالر توضیحات خوبی درباره واردکردن وابستگی ها و معکوس کردن کنترل ها نوشته است. اینجا نمیخواهیم نوشته او را دوباره نویسی کنیم. شما میتوانید این مقاله را در اینجا پیدا کنید. ناپ کامرس از کتابخانه Autofac برای محفظه loC استفاده می کند. وقتی که یک سرویس یا واسط مناسب، وقتی که سرویس اجرا می شود، نوشته می شود، شما باید همه کلاس های واسط IDependencyRegistrar را اجرا نمایید. (Nop.Core.Infrastructure.DependencyManagement namespace). برای مثال، هسته همه سرویس های ناپ کامرس در کلاس DependencyRegistrar ثبت شده است و در کتابخانه Nop.Web.Framework قرار دارد.
public class DependencyRegistrar : IDependencyRegistrar
{
public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
builder.RegisterType<WebHelper>().As<IWebHelper>().InstancePerLifetimeScope();
...
}
شما میتوانید به تعداد نیاز خود کلاس های ثبت کننده وابستگی ها ایجاد کنید. هر کلاس اجرا شده در واسط IDependencyRegistrar یک مشخصه ترتیب خواهد داشت. این به شما اجازه می دهد تا وابستگی ها موجود را جایگزین کنید. برای بازنویسی وابستگی های ناپ کامرس، مشخصه ترتیب را چیزی بزرگتر از 0 قرار دهید. ناپ کامرس کلاس های وابستگی را به ترتیب صعودی اجرا خواهد کرد. اعداد بالاتر بعد از دیگر اشیا ثبت می شود.
طراحی فروشگاه خود را با امکانات بیشمار و قالب اختصاصی به ما بسپارید. نمونه پروژه های اجرا شده ما را ببینید.
ناپ شاپ با برگزاری دوره های آموزشی در دانشگاهها، ارائه راهنمای فارسی، انجمن گفتگو، فیلم های آموشی، وبلاگ، طراحی انواع پلاگین ها و راه اندازی انواع فروشگاه اینترنتی، در توسعه ناپ کامرس در ایران تلاش میکند.