Шизофрения (объектіге бағытталған бағдарламалау) - Schizophrenia (object-oriented programming)

Объективті шизофрения немесе өзін-өзі шизофрения асқынуы болып табылады делегация және онымен байланысты техникалар объектіге бағытталған бағдарламалау, қайда өзіндік/бұл бірнеше объектілерге сілтеме жасай алады. Метафора арқылы көпшіліктің шатасуымен диссоциативті сәйкестіліктің бұзылуы психиатриялық диагнозымен шизофрения, біріншісі «бөлінген тұлғалармен» байланысты, бұл конфигурация деп аталады объектілі шизофрения немесе өзін-өзі шизофрения объектіге бағытталған бағдарламалауда.[1]

Шолу

Ан объект деректер мен мінез-құлықты біріктіретін және жеке басы бар есептеу тұжырымдамасы ретінде анықталуы мүмкін. Жылы сыныпқа негізделген бағдарламалау, объектілер класс жүйелерінде құрылады, мұнда объект класстың данасы болып табылады. Сабақтар өз кезегінде байланысты болуы мүмкін мұрагерлік: а негізгі сынып объектінің іргелі немесе әдепкі әрекетін қамтамасыз етеді және объектілерді құруға арналған шаблон ретінде жұмыс істейді, ал а туынды сынып базалық кластың мінез-құлқын болдырмау үшін қолданылуы мүмкін және мінез-құлқы базалық кластың мінез-құлқын нақтылайтын объектілерге шаблон ретінде қолданыла алады.

Сыныптар мен мұрагерлікке балама прототиптер болып табылады және делегация,[2] ішінде қолданылатын прототипке негізделген бағдарламалау, және неғұрлым серпінді. Бір класты екінші класты нақтылау үшін пайдаланудың орнына, бір объект басқа объектінің мінез-құлқын жоққа шығаруға мүмкіндік береді. Бастапқы объект а (алынған класс мінез-құлқына ұқсас) мүмкін делегат оның кейбір әдістерін басқа объектіге б (базалық сыныптың мінез-құлқына ұқсас). Егер а оның делегаттары ақымақ әдісі бар әдісі б, содан кейін кез келген шақыру ақымақ қосулы а себеп болады b 'с бар орындау әдісі. Алайда, бар контекстінде орындайды а объект, мысалы, оның өзіндік идентификатор сілтеме жасайды а орнына б.

Делегацияны қолданған кезде сұрақ туындайды: мәні неде? өзіндік әдісті объект бойынша бағалау кезінде а, объект бойынша әдіске берілген б? Идентификация бөлінген: ол сілтеме жасай алады а немесе б. Екі объект бөлек және жеке физикалық сәйкестілікке ие болғанымен, өзіндік (айқын немесе жасырын түрде қолданылғанына қарамастан) анық емес.

Тарих және талқылау

Герман[3] бұл терминді Уильям Харрисон, IBM Research, 1997 жылдың мамырында веб-беттер жиынтығында ойлап тапты, онда кейбір жалпыға ортақ проблемалар талқыланды деп хабарлайды. дизайн үлгілері (бұл веб-беттер енді қол жетімді емес). Келтірілген мысалдарда мәселені типтік шешімдер әлсіз формасын қолдану фактісі күшейтті делегация (кейде аталады бағыттау ) егер бастапқы қабылдау объектісі туралы білім беру шынымен де жоғалған болса. Мұнда пайдалану бағыттау көпшілік ағымына байланысты объектіге бағытталған бағдарламалау тілдері делегацияның күшті формасын қолдамаңыз.Харрисон және басқалар ұсынды пәндік бағытталған бағдарламалау шешім ретінде, статикалық құрамы бойынша объект шизофрениясының кез-келген мәселелерін болдырмайды. Спектрдің екінші жағында Геррманн контексттік сипаттағы тіл екенін көрсетеді рөлдері объектілік шизофренияның ықтимал проблемалары, негізінен, мінез-құлықты бөлісу құралы ретінде пайдаланғанымен, маңызды емес болатындай етіп жасалуы мүмкін. рөлдік объект және онымен байланысты негізгі объект.

Сондай-ақ қараңыз

Пайдаланылған әдебиеттер

  1. ^ Uwe Aßmann, Инвазивті бағдарламалық жасақтама, Springer-Verlag, 2003, б. 39.
  2. ^ Линн Андреа Стейн, Делегация - мұрагерлік. Объектіге бағытталған бағдарламалау жүйелерінің тілдері және қолданбалы конференциясы, Орландо, Флорида, 1987, Америка Құрама Штаттары, 138 - 146 бет.
  3. ^ Стефан Херрманн, Демистификациялаушы объект шизофрениясы, Процедурасында MASPEGHI шеберханасы кезінде ECOOP 2010