У меня есть класс прямого депозита, который выглядит ниже.Правильный дизайн? Статические методы в статическом классе?
public class DirectDeposit
{
private string ClientID = "";
private string WorkerID = "";
private string BankRoutingNumber = "";
private string BankAccountNumber = "";
private string BankAccountType = "";
public DirectDeposit(string clientid, int workerID)
{
ClientID = clientid;
WorkerID = workerID.ToString();
BankRoutingNumber = Utility.GetRoutingNumber();
BankAccountNumber = Utility.GetAccountNumber();
BankAccountType = Utility.GetAccountType();
}
public override string ToString()
{
StringBuilder result = new StringBuilder();
result.Append(ClientID + ",");
result.Append(WorkerID + ",");
result.Append(BankRoutingNumber + ",");
result.Append(BankAccountNumber + ",");
result.Append(BankAccountType + ",");
return result.ToString();
}
}
}
Прямо сейчас, добытчики для этого класса находятся в статическом классе под названием Utility, где у меня есть только случайные функции. Они просто случайные генераторы по существу:
public static class Utility
{
private static Random seed = new Random();
public static string GetAccountNumber()
{
// gets a value between 0 and 999999999
int bankAcct = seed.Next(0, 1000000000);
return bankAcct.ToString();
}
public static string GetAccountType()
{
List<string> AcctType = new List<string>() { "C", "S"};
//seed.Next returns a value >= 0 and < Count
int index = seed.Next(0, AcctType.Count());
return AcctType.ElementAt(index);
}
}
мне не совсем нравится этот подход, и предпочел бы эти быть частные методы внутри класса DirectDeposit. Это правильно?
Что такое «надлежащее», в значительной степени субъективно. Я бы предложил разместить ваш код на http://codereview.stackexchange.com/. –
А что, если вам нужны методы Utility вне DirectDeposit? –
У класса должна быть только одна причина для изменения (единственный принцип ответственности). Эти методы, похоже, не имеют никакого отношения к 'DirectDeposit', т. Е. Ни класс, ни его члены не используются в них, поэтому их следует избегать из этого класса. –