Что такое доменная модель и как она выражается в коде?

Доменная модель в программировании - это абстрактное представление предметной области вашего приложения. Она описывает основные сущности, их взаимосвязи и логику предметной области. Цель доменной модели заключается в том, чтобы создать понятную и структурированную модель, которая будет служить основой для написания кода.

Выражение доменной модели в коде происходит через создание классов, отражающих сущности вашей предметной области. Классы доменной модели содержат поля, методы и связи между сущностями, что позволяет моделировать возможности и ограничения предметной области.

Пример создания доменной модели и ее выражения в C#:

// Пример моделирования предметной области "Заказ продуктов"
public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public List<Order> Orders { get; set; }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
}

public class Order
{
    public int Id { get; set; }
    public Customer Customer { get; set; }
    public List<Product> Products { get; set; }
    public decimal TotalPrice => Products.Sum(p => p.Price);
}

В данном примере классы Customer, Product и Order являются частью доменной модели "Заказ продуктов". Customer имеет поля Id, Name и Orders, который представляет список заказов покупателя. Product содержит поля Id, Name и Price. Order связывает покупателя, список продуктов и рассчитывает общую стоимость заказа через свойство TotalPrice.

Таким образом, доменная модель позволяет создать понятное и структурированное представление предметной области и является основой для разработки функциональности приложения.