Является ли общий интерфейс базы данных или дизайн интерфейса БД, специфичный для конкретных функций (сервисов), хорошим подходом при использовании ORM?

#c# #.net #database #architecture

#c# #.net #База данных #архитектура

Вопрос:

Я разрабатываю приложение с использованием трехуровневой модели (UI-server-DB), включающей от 8 до 10 основных функций со следующей моделью: — База данных и бизнес-логика находятся в серверном приложении .net, а пользовательский интерфейс — в другом приложении WPF — Каждая функция серверного приложения предоставляет индивидуальный сервисный интерфейс (WCF) для пользовательского интерфейса

В основном я ищу идеи дизайна и входные данные для взаимодействия с базой данных в серверном приложении, используя библиотеку ORM от LLBLGen Pro.

Подход 1:

  • Создайте общую библиотеку классов базы данных в серверном приложении, которая включает в себя все классы сущностей и классы сопоставления данных. Отдельные функции будут ссылаться на эту общую библиотеку классов

Подход 2:

  • Создайте библиотеку классов БД для каждого из сервисов функций (от 8 до 9 сервисов), и классы сущностей и классы отображения данных будут находиться в этой библиотеке. Таким образом, отдельная функция является более модульной и меньше зависит от других функций приложения.

Итак, что было бы хорошим подходом к проектированию с точки зрения модульности, масштабируемости и ремонтопригодности приложения??

-Хари

Ответ №1:

Я бы использовал единственную службу данных WCF и для каждой функции создал бы отдельную конечную точку.

Комментарии:

1. Это хороший момент на уровне обслуживания, спасибо. Какие-либо входные данные на уровне DAL?