Sobes.tech
Junior — Middle

SOLID konsepsiyasının əsas prinsiplərini və onların proqram təminatı sistemlərinin inkişafına təsirini izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

SOLID prinsipləri obyekt yönümlü dizaynın beş əsas prinsipindən ibarətdir və çevik, genişlənə bilən və dəstəklənən sistemlər yaratmağa kömək edir:

  1. Yeganə məsuliyyət prinsipi (SRP) — Hər bir sinif yalnız bir dəyişiklik səbəbi olmalıdır, yəni müəyyən bir vəzifə üçün cavabdeh olmalıdır.

  2. Açıq/Qapalı prinsipi (OCP) — Siniflər genişləndirməyə açıq, lakin dəyişiklik üçün qapalı olmalıdır.

  3. Liskov Əvəzləmə Prinsipi (LSP) — Bir alt sinfin obyektləri, əsas sinfin obyektləri ilə dəyişdirildikdə proqramın düzgünlüyünü pozmamalıdır.

  4. Interfeys Ayrımı Prinsipi (ISP) — Müştərilər istifadə etmədikləri interfeyslərə bağlı olmamalıdır. Bir neçə ixtisaslaşmış interfeys olması daha yaxşıdır, ümumi bir interfeys deyil.

  5. Asılılıqların Tərs Prinsipi (DIP) — Yüksək səviyyəli modullar aşağı səviyyəli modullara bağlı olmamalıdır; hər ikisi abstraksiyalara bağlı olmalıdır.

Təsiri:

  • Kodun oxunaqlığını və saxlanmasını yaxşılaşdırır.
  • Test və refaktorlaşdırmanı asanlaşdırır.
  • Mövcud kodu dəyişdirmədən funksionallığı asanlıqla genişləndirməyə imkan verir.

SRP nümunəsi:

// Pis: sinif logika və çıxış ilə məşğul olur
class Report {
    public string Data { get; set; }
    public void Print() { /* ekran çıxışı */ }
}

// Yaxşı: məsuliyyətlərin ayrılması
class Report {
    public string Data { get; set; }
}
class ReportPrinter {
    public void Print(Report report) { /* ekran çıxışı */ }
}