![](/img/trans.png)
[英]Best Practice - Collection.add() and handling boolean return value
[英]OptaPlanner Best Practices for handling a requirement for calculations to determine a boolean return value
考慮雲計算機示例。 如果問題集只是稍作改動,該怎么辦?它會像這樣改變整個方程:
假設其中一個要求(例如,內存要求)僅需返回布爾值true或false,則無論進程內存要求是否適合該雲計算機存儲的內存分配。
但是,為此,它首先必須執行一些Java計算以得出該確定結果,例如以某種方式檢查數組中的值。
(a)處理布爾返回值(是否合適)和(b)處理執行一些Java計算以確定布爾返回值的要求時,OptaPlanner最佳做法是什么?
我可以說得更具體些,但是直到需要時我才將水弄糊塗。
這是有效的:
@PlanningEntity class MyEntity {
private MyValue var;
@PlanningEntity
public MyValue getVar() {...}
// Smart getters
public boolean isVarCool {
return var != null && var.isCool();
}
public boolean isVarCoolAndalive {
return var != null && var.isCool() && var.isAlive();
}
public int getVarWeight {
return var == null ? 0 : var.getAge() * this.getSomethingElse();
}
}
然后在約束中使用它:
rule x when MyEntity(varCool = false) then ... end
rule y when MyEntity(varWeight > 10) then ... end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.