В Windows Forms, С#, .NET 3.5, VS2008...
Каков хороший способ изолировать код для MenuStrip (или любой сложной группы управления) и его дочерних элементов меню от остальной части моей формы?
Например, когда у меня есть MenuStrip с несколькими меню, и каждое меню имеет несколько пунктов меню, все из которых имеют события щелчка, тонна кода извергается как в файл Form.Desinger.cs, так и в файл Form.cs. файл. Технически это не вызывает никаких проблем, но просто кажется неправильным хранить так много всего в одном месте (вместе со всем остальным в форме).
При запуске Code Metrics для всего моего проекта форма помечается как имеющая наихудший индекс ремонтопригодности среди всех файлов проекта. Обычно я не был бы слишком догматичен, прислушиваясь к указаниям инструмента Code Metrics, но в этом случае я полностью согласен.
Согласно Code Metrics, форма нарушает следующие рекомендации:
- Слишком большая связь классов
- Слишком много строк кода
- Общая низкая ремонтопригодность
Возможные решения для изоляции MenuStrip от остальной части формы:
- Вставьте его в UserControl
- Другие идеи?