我们正在为一个工具实现一个插件,我们的目标是为客户提供加速器。
例如,如果用户正在创建一个对象属性,那么我们将创建另一个对象xa。如果用户删除这个对象a,我们将删除我们的对象xa。如果用户正在创建一个对象b,并且其父类型是a,那么我们将创建一个对象xb plus触发一个专用行为。
今天我们使用叠瓦if来确定发生的模式。
for (PropertyChangeEvent event : events) {
if (isEventTypeOf(INSTANCE_CREATED) {
if(object instanceOf A)
createXA_Object(object)
if(object instanceOf B){
createXB_Object(object)
if(object.parent instance of A)
customXB_behavior(object)
}
}else{
if(isEventTypeOf(INSTANCE_DELETED) {
...
}
}
}
我们的问题是今天我们有20个听众,这个数字会在这段时间内增加。所以我在寻找一种更好的方法来组织我们的代码。我需要一个解决方案,它是简单的添加行为,与易于阅读的代码;在哪个条件下调用哪个函数。
以下是不同想法的列表:
编写boolean ispatterna()函数以提高代码的可读性
创建一个类,其中包含要求值的 predicate 列表和行为
这个线程:嵌入if语句的替代方案?
使用枚举
使用策略
使用规则引擎
我希望我说的很清楚
暂无答案!
目前还没有任何答案,快来回答吧!