Как структурировать общий доступ к данным в C# по службам без присоединения к таблицам в чистой слоистой архитектуреC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как структурировать общий доступ к данным в C# по службам без присоединения к таблицам в чистой слоистой архитектуре

Сообщение Anonymous »

У меня есть трехслойная архитектура в моем приложении (хранилище, приложение и презентационные слои), и я ищу некоторые советы по чистому коду. < /p>
На фронте мне нужно отобразить информацию о выборе меню клиентов. Чтобы сохранить проблемы отделенными (то есть, выбор клиентов и варианты меню), я реализовал две отдельные конечные точки и обрабатываю интеграцию данных на фронте. Проблемы нет. Я хочу поддерживать чистое разделение проблем, но в некоторых случаях мне нужны комбинированные данные (например, отображение выбора клиентов с подробностями меню). Я не уверен, как сделать это правильно - так что вот мой пример < /p>

Код: Выделить всё

public class Customer
{
public long Id { get; set; }

public IList MenuSelection { get; set; } = [];
}
и другой таблицы Menuoptions

Код: Выделить всё

public class MenuOptions
{
public long Id { get; set; }

public string MenuName { get; set; } = string.Empty;

public string Recipe { get; set; } = string.Empty;
}
Допустим, в уровне приложения есть сервисная менюрсервис
public class MenuOrderService(List customers)
{
public Dictionary OrderMenusInKitchen()
{
var allOrderIds = customers
.SelectMany(c => c.MenuSelection)
.ToList();

// Count how many times each MenuOption.Id was ordered
var orderCountsById = allOrderIds
.GroupBy(id => id)
.ToDictionary(group => group.Key, group => group.Count());

// return Dictionary -> A Dictionary with the MenuName and a Count
}
}
< /code>
Вопрос в том, как это сделать, используя чистый код, например, разделение проблем? Я хочу непосредственно не присоединяться к таблицам клиентов и менупций напрямую, так как моя цель состоит в том, чтобы сначала суммировать заказы клиентов, а затем отобразить эти резюме с соответствующими значениями Menuname, используя меню. Имеет ли смысл хранить варианты меню в качестве переменных на уровне класса, чтобы избежать повторных вызовов базы данных? (Может быть, есть где -то цикл над всеми официантами) Спасибо за ваше руководство.

Подробнее здесь: https://stackoverflow.com/questions/796 ... -joining-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»