У меня есть класс под названием MessageService. Этот класс отвечает за получение электронной почты (на самом деле потоки). В зависимости от темы письма он определяет, какой поток поставлен на карту, и выполняет действие.
немного кода, чтобы объяснить мою проблему, может быть проще:
public class MessageService
{
public void ReadEmail()
{
switch (subject)
"1" :
Myservice.action1(); break;
"2" :
Myservice.action2(); break;
"qwwerty" :
MyOtherservice.Querty(); break;
etc...
}
}
Чтобы сделать некоторую инверсию управления, я хотел передать ссылки на сервисы через конструктор моего класса MessageService.
public MessageService(IMyService myService,IMyOtherservice myOtherservice, ect....)
{
Myservice=myService;
MyOtherservice=myOtherservice;
}
Это отлично работает для нескольких ссылок, но класс MessageService может работать с разницей до 20, 30 или сорока потоков. И это сделало бы инициализацию моего класса немного тяжелой.
Есть ли какой-нибудь более хороший способ достичь этого? через какой-то шаблон дизайна? Должен ли я заботиться о МОК (хотя мне нравится проводить тесты в классе после ...)?
Спасибо за вашу помощь,