2012-05-31 3 views
2

Мне любопытно, есть ли какие-либо правила больших пальцев или шаблоны проектирования, когда следует использовать битмаски, чтобы улучшить читаемость кода и/или ремонтопригодность.Образцы шаблонов битовой маски

Одно место, где я видел их в дикой природе, - это когда есть несколько или более параметров конфигурации, которые необходимо передать в функцию.

Я иду на это с точки зрения ООП, но ответ не должен ограничиваться только ООП.

ответ

1

Я думаю, что битмаски в основном улучшают время и пространство. С точки зрения ООП, все, что они представляют, может быть инкапсулировано в надлежащий интерфейс. В C# вы можете взглянуть на flags enums для удобного способа представления их в качестве перечислений.

Чтобы передать параметры конфигурации методу, я обычно предпочитаю создавать класс. Таким образом, вы можете иметь параметры, которые больше, чем просто флаги, и клиенту не нужно беспокоиться о побитовых операциях. Взгляните на пример XmlWriterSettings class. Для примера перечисления флагов рассмотрим класс RegexOptions.

Смежные вопросы