sid*_*ate 5 java design-patterns
我们的遗留代码具有依赖于事件和对象类型的if else块的长代码
if(event == A && objectType == O1){
.....
}
else if (event == A && objectType == O2){
....
}
else if (....)
....
....
Run Code Online (Sandbox Code Playgroud)
随着越来越多的条件的引入,我正在考虑用每个条件的Command模式替换这个逻辑.但是所需的类数量是(事件数量)*(对象类型的数量).有没有更简单的方法来重构这段代码?
创建一个类封闭event和objectType,使其实现.equals()和.hashCode().为每个执行块创建一个泛型类.
然后,您将能够使用a Map和简单的查找将返回执行所需的内容.
| 归档时间: |
|
| 查看次数: |
492 次 |
| 最近记录: |