Муфта мен біріктіру арасындағы айырмашылық

Муфта мен біріктіру арасындағы айырмашылық
Муфта мен біріктіру арасындағы айырмашылық

Бейне: Муфта мен біріктіру арасындағы айырмашылық

Бейне: Муфта мен біріктіру арасындағы айырмашылық
Бейне: Network Connectors Explained 2024, Шілде
Anonim

Муфта және когезия

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

Когезия дегеніміз не?

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

Муфта деген не?

Муфта бағдарлама модульдерінің әрқайсысының басқа бағдарлама модульдеріне қаншалықты тәуелді екенін өлшейді. Екі объект арасындағы өзара әрекеттесу байланыс бар болғандықтан пайда болады. Біріктірілген бағдарламалардың икемділігі мен кеңейтілуі жоғары. Күшті байланыс ешқашан жақсы болмайды, өйткені бір нысан басқа объектіге өте тәуелді болуы мүмкін. Бұл кодты өзгерткен кезде қорқынышты түс, өйткені жоғары байланыс бағдарламашыларға тіпті бір мінез-құлық модификациясы үшін кодтың бірнеше орнында жұмыс істеу керек дегенді білдіреді. Күшті байланыс әрқашан икемділігі төмен және ауқымдылығы/кеңейтімділігі аз бағдарламаларға әкеледі. Дегенмен, Java сияқты бағдарламалау тілдерінде байланыстыруды толығымен болдырмау мүмкін емес. Бірақ бағдарламашыларға муфтаны мүмкіндігінше азайту үшін бар күш-жігерін салу ұсынылады. Сондай-ақ, олардың масштабталуы мен икемділігіне кедергі келтірместен, нысандардың бір-бірімен өзара әрекеттесуіне көмектесу үшін кейбір байланыстыруға болады.

Муфта мен когезияның айырмашылығы неде?

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

Ұсынылған: