Sobes.tech
Junior

Kaip dažnai susiduriate su SOLID principais savo darbe?

sobes.tech AI

Atsakymas iš AI

Kasdien. Jie yra pagrindas kurti išplečiamą, palaikomą ir testuojamą kodą.

  • Vienos atsakomybės principas (SRP): Kiekviena klasė ar metodas turėtų užsiimti tik viena užduotimi.
  • Atvirumo / uždarumo principas (OCP): Programinės įvairovės (klasės, moduliai, funkcijos) turėtų būti atviros plėtimui, bet uždarytos keitimui.
  • Liskovo pakeitimo principas (LSP): Pagrindinės klasės objektai turėtų būti pakeičiami išvestinių klasių objektais be programos veikimo sutrikdymo.
  • Sąsajų segregacijos principas (ISP): Klientai neturėtų priklausyti nuo sąsajų, kurių jie nenaudoja.
  • Priklausomybių inversijos principas (DIP): Aukštesnio lygio moduliai neturėtų priklausyti nuo žemesnio lygio modulių. Abu turėtų priklausyti nuo abstrakcijų. Abstrakcijos neturėtų priklausyti nuo detalių. Detalės turėtų priklausyti nuo abstrakcijų.

SOLID taikymas padeda sumažinti kodo sujungimą, pagerinti skaitomumą ir palengvinti refaktoringą bei testavimą.

<?php

// SRP pavyzdys: Užsakymo apdorojimo ir el. pašto siuntimo klasės
class OrderProcessor
{
    public function processOrder(array $orderData): bool
    {
        // Užsakymo apdorojimo logika...
        return true; // Arba false nesėkmės atveju
    }
}

class Mailer
{
    public function sendOrderConfirmation(string $email, array $orderData): bool
    {
        // El. pašto siuntimo logika...
        return true;
    }
}