Автоматты аударма пайдаланылды

Қатты дегеніміз не: объектіге бағытталған бағдарламалаудың негізгі принциптері

SOLID-бұл әзірлеушілерге объектіге бағытталған бағдарламалау (ОP) негізінде қолдау көрсетілетін және масштабталатын жүйелерді құруға көмектесетін бес принциптің жиынтығы. Бұл принциптерді "Боб ағай" (Uncle Bob) деген атпен танымал Роберт Мартин танымал етті және сапалы бағдарламалық жасақтаманы әзірлеуге негіз болды. Осы принциптердің әрқайсысын қарастырайық.

Жалғыз жауапкершілік принципі сыныптың өзгеруіне бір ғана себеп болуы керек дейді. Басқаша айтқанда, әр сынып тек бір тапсырманы орындауы керек. Бұл бір сынып тым көп нәрсені жасауға тырысқанда, сыныптардың "ісінуін" болдырмауға көмектеседі. Бұл тәсіл кодты тексеруді және қолдауды жеңілдетеді.

Мысал: егер сізде пайдаланушы деректерін де, дерекқор логикасын да өңдейтін сынып болса, бұл тапсырмаларды екі бөлек сыныпқа бөлген дұрыс.

Осы Қағидаға сәйкес бағдарламалық жасақтама нысандары (сыныптар, Модульдер, функциялар) кеңейтуге ашық болуы керек, бірақ өзгерту үшін жабық болуы керек. Бұл бар кодты өзгертпестен жаңа функционалдылықты қосуға болатындығын білдіреді. Бұл тәсіл қателіктердің алдын алуға көмектеседі және кодты икемді етеді.

Мысал: егер сізге жаңа функционалдылықты қосу қажет болса, бар кодты өзгертудің орнына жаңа класс немесе әдіс жасаған дұрыс.

Лискаларды ауыстыру принципі балалар класының объектілері бағдарламаның логикасын бұзбай, ата-аналар класының объектілерімен алмастырылуы керек деп тұжырымдайды. Бұл мұрагерлікті пайдалану күтпеген қателіктерге әкелмейтінін қамтамасыз етеді.

Мысал: егер сізде "құс" сыныбы және "пингвин" еншілес сыныбы болса, "Пингвин" "құс" жасай алатын барлық әрекеттерді орындай алуы керек, бірақ бұл әрекеттерді орындау әр түрлі болуы мүмкін.

Интерфейсті бөлу принципі көптеген әдістерді қамтитын ортақ интерфейстерге қарағанда бірнеше жоғары мамандандырылған интерфейстердің Болғаны жақсы екенін көрсетеді. Бұл" ауыр " интерфейстердің пайда болуына жол бермейді және сыныптарға тек өздеріне қажет әдістерді қолдануға мүмкіндік береді.

Мысал: егер "жануар" интерфейсі "ұшу", "жүзу" және "жүру" әдістерін қамтыса және сіздің "балық" сыныбыңыз тек жүзе алатын болса, әр әрекет үшін бөлек интерфейстер жасаған дұрыс.

Тәуелділікті инверсиялау принципі жоғары деңгейлі Модульдер төмен деңгейлі модульдерге тәуелді болмауы керек деп болжайды. Модульдердің екі түрі де абстракцияларға байланысты болуы керек. Бұл жүйенің компоненттері арасындағы байланысты азайтуға көмектеседі және кодтың модульділігін жақсартады.

Мысал: "есеп" класы "Базадеректер" класына тікелей тәуелді болудың орнына, "Базадеректер" класы да, басқа да мүмкін деректер көздері де жүзеге асыратын "сақтау" интерфейсін жасаған дұрыс.

SOLID принциптерін қолдану әзірлеушілерге құрылымдалған, қолдау көрсетілетін және икемді кодты жасауға көмектеседі. Бұл принциптер әсіресе кодты сүйемелдеудегі қателер мен қиындықтарды болдырмау маңызды болатын үлкен жүйелерді жобалау кезінде пайдалы. SOLID көмегімен сіз бағдарламалық жасақтаманың сапасын жақсарта аласыз және оны болашақта өзгерістерге төзімді ете аласыз.

Пікірлер 4

Кіру пікір қалдыру үшін