我应该使用 ninject 来初始化存储库服务吗?
Should i use ninject to initialize service with repository?
我有 class 其中有 :
IMessageRepository messageRepository;
IMessageService messageService;
我是否应该将它们都放在 class 的构造函数中并因此使用 ninject 来初始化它们?
public MessageController(IMessageRepository messageRepository, IMessageService messageService)
{
this.messageRepository = messageRepository;
this.messageService = messageService;
}
或者我应该只从 ninject 获取 messageRepository 并用它初始化我的 messageService 吗? (它在构造函数中使用 IMessageRepository)
public MessageController(IMessageRepository messageRepository)
{
this.messageRepository = messageRepository;
this.messageService = new MessageService(messageRepository);
}
我更愿意将它们都放在构造函数参数中。
因为,以后你可能会有另一种实现IMessageRepository
。
此外,您可以更好地控制 类 之外的依赖项(例如,您可能需要在 Controller
和 Service
中使用不同的存储库)。
希望对您有所帮助。
我有 class 其中有 :
IMessageRepository messageRepository;
IMessageService messageService;
我是否应该将它们都放在 class 的构造函数中并因此使用 ninject 来初始化它们?
public MessageController(IMessageRepository messageRepository, IMessageService messageService)
{
this.messageRepository = messageRepository;
this.messageService = messageService;
}
或者我应该只从 ninject 获取 messageRepository 并用它初始化我的 messageService 吗? (它在构造函数中使用 IMessageRepository)
public MessageController(IMessageRepository messageRepository)
{
this.messageRepository = messageRepository;
this.messageService = new MessageService(messageRepository);
}
我更愿意将它们都放在构造函数参数中。
因为,以后你可能会有另一种实现IMessageRepository
。
此外,您可以更好地控制 类 之外的依赖项(例如,您可能需要在 Controller
和 Service
中使用不同的存储库)。
希望对您有所帮助。