Sobes.tech
Junior — Middle

სისტემის პროექტირებისას იყენებ თუ არა SOLID პრინციპებს?

sobes.tech AI

პასუხი AI-სგან

დიახ, მე ვრცელებ სისტემების დიზაინში SOLID პრინციპებს, რათა კოდი იყოს უფრო გამძლე და გაფართოებადი.

  • S (მარტო პასუხისმგებლობის პრინციპი) — თითოეული კლასი ან მოდული უნდა ჰქონდეს ერთი პასუხისმგებლობა.
  • O (გახსნილი/დახურული პრინციპი) — პროგრამული არსებები უნდა იყოს გახსნილი გაფართოებისთვის, მაგრამ დახურული ცვლილებებისთვის.
  • L (ლისკოვის ჩანაცვლების პრინციპი) — ქვესინფის ობიექტები უნდა იყოს ჩანაცვლებადი საწყის კლასის ობიექტებით, ისე რომ პროგრამის სწორება არ დარღვეოდეს.
  • I (ინტერფეისების განცალკევების პრინციპი) — უკეთესია ჰქონდეს რამდენიმე სპეციალიზებული ინტერფეისი, ვიდრე ერთი უნივერსალური.
  • D (დამოკიდებულებების უკუღმა გადატანა) — დამოკიდებულებები უნდა იყოს აშენებული აბსტრაქციებზე, არა კონკრეტულ რეალიზაციებზე.

C#-ში ერთგულ პასუხისმგებლობის პრინციპის მაგალითი:

class ReportGenerator
{
    public string GenerateReport() {
        // ანგარიშის გენერაციის ლოგიკა
    }
}

class ReportPrinter
{
    public void Print(string report) {
        // ანგარიშის ბეჭდვის ლოგიკა
    }
}

ამგვარად, ანგარიშის გენერაციის და ბეჭდვის პასუხისმგებლობები გამოყოფილია, რაც ამარტივებს მხარდაჭერას და ტესტირებას.