Я создаю приложение MVC, которое немного сложнее, чем я обычно делаю, и я хочу попробовать новую структуру классов. В основном, там много читается. Только 5-10% операций будут вставлены / обновлены в базе данных.
Из-за этого я думаю о создании базовых классов DTO, которые будут возвращены из уровня базы данных. Затем бизнес-объекты наследуются от класса DTO, чтобы расширить базовую структуру со всеми правилами проверки и бизнес-правилами.
Пример:
namespace Project.DTO
{
public class Employee
{
public string Name;
public string Surname;
...
}
}
namespace Project
{
public class Employee : Project.DTO.Employee
{
public bool IsValid()
{
...
}
}
}
Это хороший подход? То, что я еще не подумал, - это как использовать их внутри MVC, так как «правильный» способ - реализовать классы моделей. Я считаю, что мог бы создать классы моделей, которые также унаследованы от объектов DTO ... но я не уверен.
Мне также нужен способ обработки всех функций проверки с помощью какого-либо интерфейса, чтобы избежать повторения большого общего кода в графическом интерфейсе.
Заранее спасибо!