Код IT
← Каталог

Сборка и культура производительности — Факторы — зависимость, кэширование, параллелизация

Фрагмент из «Сборка и культура производительности»: Факторы — зависимость, кэширование, параллелизация.

csharp runtime-architectureencyclopedia116 embed URL статья в энциклопедии
C# main.cs
// Плохо: тесная связность
public class OrderService
{
    private readonly PaymentService _paymentService;
    private readonly InventoryService _inventoryService;
    private readonly NotificationService _notificationService;
    private readonly ReportingService _reportingService;
    // При изменении любого сервиса требуется пересборка OrderService
}

// Хорошо: слабая связность через интерфейсы
public class OrderService
{
    private readonly IPaymentGateway _paymentGateway;
    private readonly IInventory _inventory;
    private readonly INotification _notification;
    // Зависимость только от абстракций, не от реализаций
}
// Плохо: тесная связность
public class OrderService
{
    private readonly PaymentService _paymentService;
    private readonly InventoryService _inventoryService;
    private readonly NotificationService _notificationService;
    private readonly ReportingService _reportingService;
    // При изменении любого сервиса требуется пересборка OrderService
}

// Хорошо: слабая связность через интерфейсы
public class OrderService
{
    private readonly IPaymentGateway _paymentGateway;
    private readonly IInventory _inventory;
    private readonly INotification _notification;
    // Зависимость только от абстракций, не от реализаций
}