我意識到我會因爲不僅僅是自己寫一個測試而感到憤怒...但是我很好奇人們的觀點,而不僅僅是功能,所以...這裏去...我可以通過getter直接添加到私人列表嗎?
我有一個擁有私人清單的班級。我想通過public getMyList()方法添加到該私人列表中。
所以...這項工作?
public class ObA{
private List<String> foo;
public List<String> getFoo(){return foo;}
}
public class ObB{
public void dealWithObAFoo(ObA obA){
obA.getFoo().add("hello");
}
}
感謝喬恩。在我的場景中,ObA是一個DTO,我通過一個服務類將其添加到其成員之一中...假設我想盡可能保持DTO儘可能沒有行爲,那麼您會建議什麼是首選方法(也就是說,我我喜歡基本上是一個虛擬的數據持有者,沒有業務邏輯)。 – 2009-05-21 21:31:40
嗯...我的意思是我想*它是...我個人恐怕沒有辦法成爲一個虛擬數據持有者:) – 2009-05-21 21:32:31
如果它*真的*意味着是一個「啞巴」類,並且它的所有客戶都會*知道*這個集合很可能是由其他呼叫者修改,那麼可以繼續使用它。我會非常明確地記錄這些 - 如下所示:「該屬性返回對後備集合的直接引用:通過此引用所做的任何更改都會被其他調用者看到。」 – 2009-05-21 21:34:19