Почтовый ящик F # против MailboxProcessor

Я заметил, что тип почтового ящика инкапсулирован и может использоваться только с помощью MailboxProcessor.

Это означает, что для того, чтобы иметь агента, которому я могу отправлять сообщения, я вынужден иметь единственный почтовый ящик одного типа (или использовать существующий MailboxProcessor экзотическим способом).

Должен ли я понимать, что наличие нескольких почтовых ящиков для одного рабочего процесса неизбежно приведет к плохому дизайну? Ccr явно дает вам такой уровень свободы.

Изменить: Как отметил Дэниел, если кто-то хочет отправить несколько типов сообщений, DU элегантно решает проблему - и не похоже, чтобы я не делал этого в прошлом.

Но вопрос в том, разве это не запах кода? Разве добавление дополнительных типов сообщений, отправляемых агенту, со временем не приведет к тому, что у вас будет слишком много обязанностей? Иногда я думаю, что было бы важно всегда инкапсулировать типы сообщений, которые агент использует, за интерфейсом, чтобы эта информация никогда не раскрывалась.

0
задан David Grenier 13 December 2011 в 14:35
поделиться