Кіріспе

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

Шолу

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

Медиаторлық жобалау үлгісі шеше алатын мәселелер

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

Медиаторлық жобалау үлгісімен сипатталған шешімдер

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

Анықтама

Медиаторлық үлгінің мәні – "бірнеше нысанның өзара әрекеттесуін қамтитын нысанды анықтау". Ол нысандардың тікелей бір-біріне сілтеме жасауын болдырмай, байланыстың әлсіз болуын қамтамасыз етеді және олардың өзара әрекеттесуін тәуелсіз түрде өзгертуге мүмкіндік береді. Клиенттік кластар медиатор арқылы басқа клиенттерге хабарлама жіберуге және медиатор класындағы оқиға арқылы басқа клиенттерден хабарлама алуға болады.