Я не сказал бы , зло , но переменчивость часто является знаком очень обеспокоенности со стороны программиста для обеспечения максимума функциональности. В действительности это часто не нужно, и это, в свою очередь, делает интерфейс меньшим, легче использовать и тяжелее использовать неправильно (= более устойчивый).
Одним примером этого является чтение-запись и конфликты записи/записи в условиях состязания. Они просто не могут произойти в неизменных структурах, так как запись не является допустимой операцией.
кроме того, я утверждаю, что переменчивость почти никогда не на самом деле необходима , программист всего думает , что она могла бы быть в будущем. Например, просто не имеет смысла изменять дату. Скорее создайте новую дату, базирующуюся от старой. Это - дешевая операция, таким образом, производительность не является соображением.
Используйте разделитель
следующим образом:
<MenuItem Header="_Open" Command="ApplicationCommands.Open" />
<Separator />
<MenuItem Header="E_xit" Command="ApplicationCommands.Close" />