Front-end arxitekturası və onun əsas prinsipi-SOLİD

Front-end arxitekturası və onun əsas prinsipi-SOLİD

25.02.2024

419

Front-end arxitekturası və onun əsas prinsipi-SOLİD

 

Funksional və qeyri-funksional tələblər təkcə Backend-də deyil, həm də Frontend-də tətbiq edilir. Frontend arxitekturası ilə biz biznes tələblərini yerinə yetirə bilirik. Bundan əlavə, biz layihələrin mürəkkəbliyini daha yaxşı başa düşə bilir, nəticədə istənilən layihənin riskini, vaxtı və xərclərini azaldırıq.

Fikrimizcə, Frontend arxitekturasının istifadə edilməsi üçün ən yaxşı səbəb istənilən layihənin davamlılığı və miqyaslılığıdır (scalability). Belə ki, layihəyə əlavə edilən yeniliklər layihənin işində problem yaratmamalıdır.

 

Front-end arxitekturasının mahiyyətini daha yaxşı başa düşmək üçün verilmiş qrafikə baxaq. 

 

şəkil

 

 

Layihəyə başlayarkən ediləcək ilk iş, bənzərsiz müştəri təcrübəsi təqdim edən arxitektura qurmaqdır. Belə ki, qurulan arxitektura iş axınına da təsir edir və növbəti vacib məsələ iş axınını daha da asanlaşdırmaq üçün aşağıda qeyd olunan addımlara əməl etməkdir.

  • Kod oxunaqlı olmalıdır;

 

  • Bütün tələb edilən cihaz və brauzerlər üçün dizayn uyğunlaşdırılmalıdır;

 

  • Kitabxana və frameworklərdən çox asılı olmamalıdır;

 

 

Bu arxitekturaya hansı prinsipi əlavə etmək olar?

 

SOLID prinsipi.

Bu prinsip Robert C. Martin (Bob Uncle 🙂) tərəfindən yaradılmışdır. Bu prinsipin yaradılmasının əsas səbəbi layihədə kodları və funksionallıqları daha rahat idarə etməkdir. Aşağıdakı misallar obyekt yönümlü proqramlaşdırma (OOP - object oriented programming) üzərindən verilmişdir. 

Əgər layihədə istifadə edilən müəyyən funksionallığa malik olan bir class başqa class-la birbaşa əlaqəlidirsə, birində edilən kod dəyişikliyi digərləri üçün problem yarada bilər. Bunun baş verməsi bizim üçün problem yaradacaq.

Hər bir class-ın yalnız bir funksionallığı olmalıdır. Class-ları uyğun olmayan interfeysləri həyata keçirməyə məcbur etməməliyik.

 

şəkil

 

  • Single Responsibility Principle: Bu prinsipin mahiyyəti budur ki, bir class ancaq bir iş görməlidir. Bir funksionallığa malik olmalıdır və həmin funksionallıqda yaranan problem digər class-ın funksionallığına təsir etməməlidir.

 

  • Open-Closed Principle: Bir class yeniliklər üçün açıq, lakin dəyişikliklər üçün qapalı olmalıdır. Ola bilər ki, sizin layihəniz gələcəkdə böyüsün və siz yeniliklər etmək məcburiyyətində qalacaqsınız. Amma bu yenilikləri etmək üçün bütün strukturu dəyişməyə ehtiyac yaranacaq. Əgər siz layihənizi SOLID prinsiplərinə uyğun yazsanız onda siz yeniliklər etdikdə strukturu dəyişməyə ehtiyac qalmayacaq.

 

  • Liskov Substitution Principle:Əgər miras alan sinifi miras aldığı sinif ilə dəyişsək hər şey qaydasında olmalıdır.

 

  • Interface Segregation Principle: Bir interface çox ümumi olmamalıdır. Yəni,bacara bildiyimiz qədər interface-ləri bölməliyik(segregate etməliyik).

 

  • Dependency Inversion Principle: Asılılıqlar tərsinə çevrilməlidir. Yəni,siniflər və ya modullar (komponentlər) arasında sıx əlaqə olmamalıdır.