5
ฉันสามารถใช้ Dependency Injection โดยไม่ทำลาย Encapsulation ได้ไหม
นี่คือโซลูชันและโครงการของฉัน: ร้านหนังสือ (โซลูชัน) BookStore.Coupler (โครงการ) Bootstrapper.cs BookStore.Domain (โครงการ) CreateBookCommandValidator.cs CompositeValidator.cs IValidate.cs IValidator.cs ICommandHandler.cs BookStore.Infrastructure (โครงการ) CreateBookCommandHandler.cs ValidationCommandHandlerDecorator.cs BookStore.Web (โครงการ) Global.asax BookStore.BatchProcesses (โครงการ) Program.cs Bootstrapper.cs : public static class Bootstrapper.cs { // I'm using SimpleInjector as my DI Container public static void Initialize(Container container) { container.RegisterManyForOpenGeneric(typeof(ICommandHandler<>), typeof(CreateBookCommandHandler).Assembly); container.RegisterDecorator(typeof(ICommandHandler<>), typeof(ValidationCommandHandlerDecorator<>)); container.RegisterManyForOpenGeneric(typeof(IValidate<>), AccessibilityOption.PublicTypesOnly, …