![]() |
1
4
另一种选择是制作方法,例如
例如:
当然,不是给别人打电话
这是我最喜欢的模式之一;使用
您可以通过创建所有实现相同接口的对象,并在您的
|
![]() |
2
2
您可以使用“extract method”重构,并将所有这些检查转换为一个“可读”条件。 看这个相关的 answer 有点长,但关键是要替换如下构造:
对于这样的事情:
请记住,对象确实具有状态,并且可以使用其他对象来帮助它们完成其工作。 |
![]() |
3
1
尽管看起来只是编写更多的代码,但您可以用“validator”对象替换所有这些规则,并将所有验证都放在某个数组中并循环执行。 类似于这个临时代码。
您可以这样实现它们:
最后在列表中安装它们:
这里的想法是将逻辑转移到子类。当然,你会得到一个更好的结构,也许 成功的 和 采取行动 可以替换为其他更有意义的方法,目的是从现有的位置提取验证。 它变得更抽象了。。对
|
![]() |
4
1
所有这些答案可能都是更好的OO答案。就这一次,我要找一个又快又脏的答案。
我知道有些人不喜欢mid方法返回,但当您验证对我来说一直是一个很棒的模式的输入条件时,我从不后悔使用它。 它确实简化了方法的外观。 如果您编写的方法比屏幕长,请不要这样做,也不要写一条大注释指出它——很容易丢失return语句而忘记您所做的。更好的是,不要编写比屏幕更长的方法。 |
![]() |
Nerd in Training · 应用程序打开时调用函数 8 年前 |
|
Silnet · BlackBerry10:如何将文件从设备复制到pc 10 年前 |
![]() |
BigDan · 黑莓网络浏览器上的双语应用程序名称 11 年前 |
|
Sarah · 电池电量为10时启动/取消计时器 11 年前 |
![]() |
CAMOBAP · 黑莓手机-“您当前没有新的通知” 11 年前 |