簡體   English   中英

設計-按名稱或對象刪除?

[英]DESIGN — Remove by name or object?

使用對象的名稱/ ID或傳遞實際對象刪除對象更有意義嗎? 例如:

void MyList::remove(MyObject &myObject) { /* blah */ }
// or
void MyList::remove(std::string id) { /* blah */ }

我都用過,但是我真的看不到優點和缺點。 有沒有首選的標准?

編輯:這可能是一個更好的例子,提供我正在嘗試做的事情:

假設我有一個帶有交易集合的Account類。 我最好傳遞事務對象或交易ID嗎?

class Account
{
  private List<Transaction> transaction = new List<Transaction>();

  public void Remove(Transaction transaction) { }
  // OR
  public void Remove(string name) { }
  // OR
  public void Remove(Guid id) { }
}

注意:此問題同時具有C ++和C#代碼...

您可能不總是有該項目的引用。 因此最好使用名稱或ID的刪除方法。 您可以根據您的業務需求確定哪個更可取(名稱或ID)。 名稱或ID必須是唯一的,否則它將刪除錯誤的項目。 因此,業務需求必須決定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM