Изучите управляемую моделью разработку, где параметры сгруппированы в бизнес-объекты или объекты передачи данных (DTO).Это более интуитивный способ группировки параметров, чем по дате и т. Д.
Если вы поместите эти объекты модели в отдельный проект, вы можете передать эти объекты вокруг решения (из одного метода в другой и из одного проекта вдругое) без необходимости их сериализации или работы с длинным списком параметров.Вы можете даже вкладывать объекты модели в другие объекты модели.
В этом примере обратите внимание, что вам нужно только изменить параметры в объекте Person или объекте Address, и вам никогда не придется сериализовать или отображать что-либо:
// this is my business model object
public class Person
{
public int PersonId { get; set; }
public string PersonName { get; set; }
// notice the Address object nested in the Person class
public Address HomeAddress { get; set; }
}
// this is another class that lives inside the person class
public class Address
{
public string Street { get; set; }
public string City { get; set; }
}
В одном классе вы можете иметьэтот метод, который получает человека с адресом и передает его в класс SavePerson другого класса:
public void ProcessPerson(Person person)
{
person.PersonName = "Robert";
Address address = new Address();
address.City = "Austin";
person.Address = address;
SavePerson(person);
}
Какой-то другой класс (даже в другом проекте) может взять этого человека и передать его на уровень постоянства:
public void SavePerson(Person person)
{
database.Save(person);
}
Так что, если я хочу добавить State к человеку, я просто изменяю класс Address и все готово за один шаг, мне не нужно добавлять поле состояния ко всем параметрам методасписки:
public class Address
{
public string Street { get; set; }
public string City { get; set; }
// this is the new property
public string State { get; set; }
}