加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 许多布尔标志输入到类

发布时间:2020-12-15 05:18:45 所属栏目:Java 来源:网络整理
导读:我有一个对话框,根据应用程序的状态,当前用户的安全性等显示各种内容. 我目前正在传递几个布尔标志,然后根据这些标志启用和/或隐藏UI组件.Eg: new MyDialog(showOptionsTable,allowFooInput,allowBarInput,isSuperUser) 最初这开始是一些标志,这很好.但是现
我有一个对话框,根据应用程序的状态,当前用户的安全性等显示各种内容.
我目前正在传递几个布尔标志,然后根据这些标志启用和/或隐藏UI组件.Eg:

new MyDialog(showOptionsTable,allowFooInput,allowBarInput,isSuperUser)

最初这开始是一些标志,这很好.但是现在随着需求的变化,它已经演变为五个布尔标志的输入.

处理这种行为的最佳做法是什么?这是否应该根据对话框的外观进行子类化?

解决方法

和许多事情一样,“这取决于”.

> Ben Noland建议一个类来保存配置选项.这是可行的,但有利于不变性,并可选择使用构建器模式.因为布尔值是内置类型,所以编写一个小型构建器将真正帮助人们理解代码.如果你将它与MyDialog(真实,真实,……)进行比较,你就知道我的意思了:

Options.allowThis().allowThat()建()克里斯提出了比特字段,但正如一些评论者指出的那样,由于Josh Bloch的Effective Java中列出的许多原因,比特字段是邪恶的.基本上他们很难调试和容易出错(你可以传入任何int,它仍然会编译).因此,如果你走这条路线,使用真实的枚举和EnumSet.>如果你可以合理地继承(或撰写),意味着你通常只使用所有布尔值的几个组合,那么就这样做.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读