Туташуу жана Когезия ортосундагы айырма

Туташуу жана Когезия ортосундагы айырма
Туташуу жана Когезия ортосундагы айырма

Video: Туташуу жана Когезия ортосундагы айырма

Video: Туташуу жана Когезия ортосундагы айырма
Video: 18. Интернетке туташуу 2024, Июль
Anonim

Когезия менен Когезия

Туташуу жана бириктирүү Java-да (жана башка объектке багытталган тилдерде) табылган эки түшүнүк. Coupling программалык модулдардын ар бири башка программа модулдарынан канчалык көз каранды экенин өлчөйт. Когезия ар бир функциянын модулдун ичинде канчалык тыгыз байланышта экенин өлчөйт. Чындыгында, ар кандай объектиге багытталган тил (анын ичинде Java) эң эффективдүү программаларды иштеп чыгуу үчүн бир эле учурда биригүүнү жогорулатуу жана бириктирүүнү азайтуу эки негизги максаты бар. Бул эки программалык инженерия метрикасы программалык камсыздоону өзгөртүү жана тейлөө баасын азайтуу үчүн Ларри Константин тарабынан иштелип чыккан.

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

Когезия программа модулунун ичиндеги функциялардын ар бири канчалык тыгыз байланышта экенин өлчөйт. Жакшы структураланган класстар жогорку бирдиктүү программаларга алып келет. Белгилүү бир класс бири-бири менен тыгыз байланышта болгон функциялардын жыйындысын аткарып жатса, ал класс бириктирилген деп аталат. Башка жагынан алып караганда, эгерде класс таптакыр байланышпаган функцияларды аткарып жатса, бул класс такыр бириккен эмес дегенди билдирет. Бирдиктүүлүктүн жоктугу жалпы колдонмо талап кылынган функцияга ээ эмес дегенди билдирбейт экенин түшүнүү маанилүү. Болгону, бирдиктүү болбосо, функцияны башкаруу абдан кыйын болот, анткени алар көптөгөн туура эмес жерлерге чачырап кетет, анткени убакыттын өтүшү менен колдонмонун татаалдыгы көбөйөт. Код боюнча чачыраган жүрүм-турумдарды сактоо, өзгөртүү жана кеңейтүү эң тажрыйбалуу программисттер үчүн да абдан түйшүктүү.

Мушташуу деген эмне?

Туташтыруу программа модулдарынын ар бири башка программа модулдарынан канчалык көз каранды экенин өлчөйт. Эки объекттин ортосундагы өз ара аракеттенүү байланыш бар болгондуктан пайда болот. Эркин туташтырылган программалар ийкемдүүлүк жана кеңейтүү жагынан жогору. Күчтүү туташуу эч качан жакшы болбойт, анткени бир объект башка объектке өтө көз каранды болушу мүмкүн. Код өзгөртүлгөндө бул коркунучтуу түш, анткени жогорку туташтыруу программисттер бир жүрүм-турумду өзгөртүү үчүн коддун бир нече жеринде иштеши керек дегенди билдирет. Күчтүү бириктирүү дайыма ийкемдүүлүгү төмөн жана масштабдуулугу/узартылуусу аз программаларга алып келет. Бирок, Java сыяктуу программалоо тилдеринде биригүүдөн толугу менен качуу мүмкүн эмес. Бирок, программисттер мүмкүн болушунча байланышты азайтуу үчүн болгон күч-аракетин жумшашы сунушталат. Объекттердин масштабдуулугуна жана ийкемдүүлүгүнө тоскоол болбостон, бири-бири менен өз ара аракеттенүүгө жардам берүү үчүн кээ бир туташтырууга да болот.

Туташуу жана Когезия ортосунда кандай айырма бар?

Биригүү жана бириктирүү программалык камсыздоо инженериясындагы модулдун сапатына байланыштуу болсо да, алар таптакыр башка түшүнүктөр. Когезия модулдун ичиндеги функциялардын бири-бири менен канчалык байланышта экендиги жөнүндө сөз кылат, ал эми бириктирүү бир модулдун бүтүндөй тиркемедеги башка программалык модулдардан канчалык көз каранды экендигин карайт. Эң сапаттуу программалык камсыздоого ээ болуу үчүн, бириктирүү жана бириктирүү алардын спектринин карама-каршы эки учуна жетиши керек. Башка сөз менен айтканда, бош байланыш жана күчтүү бириктирүү мыкты программалык камсыздоону камсыз кылат. Жеке талааларга ээ болуу, жалпыга ачык эмес класстар жана жеке ыкмалар бош байланышты камсыздайт, ошол эле учурда класстын ичиндеги бардык мүчөлөрдү көрүнүктүү кылып жана демейки көрүнүш катары топтом жогорку биримдикти камсыз кылат.

Сунушталууда: