我有我的域名FinanceRequests和CommisionTransactions。 如果我有FinanceRequests的列表中的每个FinanceRequest可能包含需要被收复多个CommisionTransactions。 不要担心,究竟如何做到这一点。
下面的类(最底层)让我觉得因为它的succint所有模糊和温暖,并很好地重用现有的代码。 一个问题类型擦除。
public void clawBack(Collection<FinanceRequest> financeRequestList)
public void clawBack(Collection<CommissionTrns> commissionTrnsList)
他们都有擦除,即在相同的签名:
Collection<FinanceRequest> --> Collection<Object>
Collection<CommissionTrns> --> Collection<Object>
所以日食complainst说:
方法回拨(集合)具有相同的擦除回拨(集合),如类型CommissionFacade另一种方法
任何建议,以使得它仍然是一个很好的解决方案,使良好的代码重用重组呢?
public class CommissionFacade
{
/********FINANCE REQUESTS****************/
public void clawBack(FinanceRequest financeRequest)
{
Collection<CommissionTrns> commTrnsList = financeRequest.getCommissionTrnsList();
this.clawBack(commTrnsList);
}
public void clawBack(Collection<FinanceRequest> financeRequestList)
{
for(FinanceRequest finReq : financeRequestList)
{
this.clawBack(finReq);
}
}
/********COMMISSION TRANSACTIOS****************/
public void clawBack(CommissionTrns commissionTrns)
{
//Do clawback for single CommissionTrns
}
public void clawBack(Collection<CommissionTrns> commissionTrnsList)
{
for(CommissionTrns commTrn : commissionTrnsList)
{
this.clawBack(commTrn);
}
}
}