Кіріспе
Дәл байланысы жоқ жүйе – компьютерлік техника және жүйелерді жобалау салаларында компоненттердің бір-бірімен әлсіз байланыста (үзілуі мүмкін қатынастарда) болатын жүйе, сондықтан бір компоненттегі өзгерістер екінші компоненттің жұмыс істеуіне немесе бар болуына ең аз әсер етеді. Оның әрбір бөлігі басқа жеке бөліктердің анықтамалары туралы аз немесе ешқандай білімі болмайды немесе пайдаланбайды. Кіші салаларына сыныптардың, интерфейстердің, деректердің және қызметтердің байланысы кіреді. Дәл байланыс жоқтығы – тығыз байланыстың қарама-қарсысы.
In computing and systems design, a loosely coupled system is one
in which components are weakly associated (have breakable relationships) with each other, and thus changes in one component least affect existence or performance of another component. in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Subareas include the coupling of classes, interfaces, data, and services. Loose coupling is the opposite of tight coupling.
Артықшылықтары мен кемшіліктері
Ашық байланысқан жүйедегі компоненттерді бірдей қызметтерді ұсынатын баламалы нұсқалармен алмастыруға болады. Ашық байланысқан жүйедегі компоненттер бір платформаға, тілге, операциялық жүйеге немесе құрастыру ортасына аз тәуелді. Егер жүйелер уақыт бойынша ажыратылса, транзакциялық тұтастықты сақтау қиынға соғады; қосымша координациялық протоколдар қажет. Әртүрлі жүйелердегі деректерді көшіру ашық байланыстыруды (қолайлылық тұрғысынан) қамтамасыз етеді, бірақ сәйкестікті сақтауда (деректерді синхрондау) қиындықтар тудырады.
Ауыспалылықты азайту әдістері
Интерфейстердің байланысын әлсіретуді стандартты форматта (мысалы, XML немесе JSON) деректерді жариялау арқылы күшейтуге болады. Бағдарлама компоненттері арасындағы байланысты әлсіретуді параметрлерде стандартты дерек түрлерін пайдалану арқылы күшейтуге болады. Арнайы дерек түрлерін немесе объектілерді жіберу үшін екі компоненттің де арнайы деректер анықтамасын білуі қажет. Қызметтердің байланысын әлсіретуді қызметке берілетін ақпаратты маңызды деректерге дейін азайту арқылы арттыруға болады. Мысалы, хат жіберу қызметі тек клиент идентификаторы берілгенде және клиент мекенжайы қызмет ішінде алынғанда тиімдірек болады. Бұл қызметтерді бір-бірінен тәуелсіз етеді, себебі қызметтерді нақты ретпен шақырудың қажеті жоқ (мысалы, Клиент мекенжайын алу, Хат жіберу).