Чистый код для работы с комбинациями логических значений [closed]

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

Например, если у нас есть Customer с 3 логическими свойствами говорят, isBlocked, isInternational, isPremium . Как я могу написать чистый, поддерживаемый и расширяемый код для разных типов пользователей? (например, международный премиум-пользователь, заблокированный в течение последних 7 дней) и т. д.

Я пытался использовать разные классы для каждого типа, но список растет экспоненциально при добавлении новых свойств. Я также пробовал использовать композиции, такие как PremiumUserHelper, BlockedUserHelper и т.д., но поскольку мы имеем дело с комбинациями различных свойств, этот шаблон бесполезен.

Может ли кто-нибудь указать мне на некоторые стили / шаблоны кода, которые помогут мне в этом случае?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *