I’m having a problem with naming a method for a database application.
In my Database instance, I have a method that can remove an Agreement object from the database. However, I want to be able to remove multiple Agreements at once, to be able to use transactions. The problem is that I also have an overload to remove a single Agreement object.
Essentially, my structure is like this:
public class Database
{
// ...
public void RemoveAgreement(Agreement a)
{
// ...
}
public void RemoveAgreement(IEnumerable<Agreement> agreements)
{
// ...
}
}
But this can be confusing, as the overload with the list of Agreements has a singular name, despite being inherently plural.
My question is, how should I structure this? Should I have two overloads with the name RemoveAgreement(), or RemoveAgreements()? Or should I use two separate methods, instead of overloads?
Thanks.
I’d say that for the method that receives the list as parameter the name
RemoveAgreementis not correct for the reason you describe.I would call it
RemoveAgreementsFor the name of your class (Database) I would say that you’re using it as DAO for ALL your entities.
If you were using this class ONLY for Agreement entities I would have this 2 methods
public void Remove(Agreement agreement)and
public void Remove(IEnumerable<Agreement> agreements)