У нас есть несколько пользовательских списков, каждый из которых имеет несколько получателей событий, связанных с ним (хотя на данный момент написана только пара). Эти приемники событий обрабатывают мешанину отдельных событий и выполняют различные функции. Мой вопрос заключается в том, как организовать их в решении / проекте Visual Studio таким образом, чтобы это имело смысл. У каких получателей событий должна быть своя собственная функция / класс / папка / проект / решение?
В настоящее время у нас есть два решения, каждое из которых просто использует то, что Visual Studio использует по умолчанию при создании нового проекта Event Receiver с собственным решением. У другого есть один проект с одной папкой, названной в честь определенного списка, который настроен на обработку двух событий (ItemAdded и ItemUpdating) в этом списке. Папка содержит два файла C #, каждый из которых содержит свой собственный класс с одной функцией для данного конкретного получателя событий.
Но если у меня есть несколько получателей событий для одного списка, я должен поместить их в один файл? Или в отдельные файлы в одной папке? Или в отдельные проекты? И если у меня есть два логически различных действия, которые должны быть выполнены с одним и тем же элементом списка в одном и том же событии, должен ли я иметь один приемник событий, который выполняет оба действия, или отдельные приемники событий для каждого?
Моя текущая мысль состояла в том, чтобы иметь папку для каждого списка, с отдельными файлами для каждого получателя события и использовать один получатель события для выполнения любых действий, подходящих во время этого события (независимо от того, независимы они или нет). Мне просто интересно, какой была бы организация типа "лучшие практики".