У меня есть приложение, в котором я пытаюсь сохранить доступ к данным и пользовательский интерфейс отдельно. Для этого у меня есть два проекта: один для пользовательского интерфейса и один для доступа к данным. У меня проблема заключается в том, как эффективно передавать данные, полученные из файла конфигурации в проекте пользовательского интерфейса, в классы в проекте доступа к данным.Предпочтительный способ передать свойство между классами
Проект доступа к данным содержит два класса ...
- PaymentProcessor.cs
Payment.cs
Класс PaymentProcessor заботится о создании запроса на Web API, чтобы получить коллекцию Объекты «Оплата». Мне нужно передать строку в объект «Платеж», чтобы она могла использовать строку, чтобы увидеть, присутствует ли в платете конкретный шаблон.
Каков наилучший способ передать эту строку в класс оплаты? Создать свойство класса PaymentProcessor и передать его как свойство в классе Payment? Кажется, я играю «передаю собственность». Есть лучший способ сделать это?
Вот пример кода, показывающий, как я использую классы и как передаю «ValidationString».
// Code to execute in UI
var payProccessor = new PaymentProcessor();
payProccessor.ValidationStringToPass = "ABCDEFG";
payProccessor.ProcessPayment();
public class PaymentProcessor()
{
public string ValidationStringToPass {get; set;}
public void ProcessPayment()
{
// Get payment object collection
List<Payment> paymentCollection = GetPayments();
foreach(Payment p in paymentCollection)
{
p.ValidationString = this.ValidationStringToPass;
p.DoStuff();
}
}
}
public class Payment
{
string ValidationString {get; set;}
public void DoStuff()
{
// do stuff with the ValidationString
}
}
Оплата - объект домена, третий уровень - это вы. Если вы сохраняете свои объекты данных в datalayer, тогда вы получите графический интерфейс, полностью зависящий от datalayer. –
Как вы собираетесь передавать информацию на слой данных, не создавая эту зависимость? Должен ли я иметь доступ к файлу данных напрямую? – webworm