JavaRush /Блоги Java /Random-TG /Барномасозии ба объект нигаронидашуда (тарҷумаи мақола)
Exidnus
Сатҳи
Санкт-Петербург

Барномасозии ба объект нигаронидашуда (тарҷумаи мақола)

Дар гурӯҳ нашр шудааст
Аз тарҷумон: Мутаассифона, дар тарҷума аз инглисӣ таҷрибаи назаррас надорам, ҳарчанд бо забони англисӣ хеле зиёд мутолиа кардам. Аммо маълум шуд, ки хондану тарчума ду чизи дигар аст. Инчунин, мутаассифона, ман таҷрибаи назарраси барномасозӣ надорам (ман ба наздикӣ дар Spring MVC ва Hibernate як веб-барномаи оддӣ сохтам). Аз ин ру, тарчума назар ба он ки мумкин буд, хеле бадтар баромад. Ман озодии каме ислоҳ кардани мисолҳои рамзи дар мақола овардашударо гирифтам, зеро онҳо ба конвенсияҳои номгузорӣ дар Java мувофиқат намекунанд. Шояд тарчумаи номи баъзе намунахо бамаврид набуд (чунин тарчума фахми-ши зиёдеро намедихад), вале ман гумон кардам, ки ин бади камтар аст. Дар бораи «ҳамбастагии баланд» ҳамчун тарҷумаи «ҳамбастагии баланд» алоҳида зикр кардан лозим аст. Ман розӣ ҳастам, на беҳтарин тарҷума. Аммо "пайванди қавӣ" "пайванди баланд" (як мафҳуми муҳими дигар) аст ва "ҳамбастагӣ" ба гумон аст, ки дар ин ҷо мувофиқ бошад. Ман барои танқид кушода ҳастам ва шарҳҳои мақоларо дар ҳама шакл бо миннатдорӣ қабул мекунам. Барномасозии ба an object нигаронидашуда як услуби барномасозӣ мебошад, ки дар он барнома аз ҷузъҳое иборат аст, ки ба an objectҳои ҷаҳони воқеӣ мувофиқат мекунанд.Ҳар як an objectи воқеӣ дорои баъзе хосиятҳо (ки бо мурури замон метавонанд ё тағир наёбанд) ва рафтор (ки метавонанд ё не. вобаста ба дигарон) таѓйир меёбад). Масалан, қалам як an objectи ҷаҳонии воқеӣ аст, ки дорои хосиятҳои зерин аст:
  • Он сурх аст (ин бо мурури замон тағир намеёбад).
  • Ҳоло он 10 сантиметр дарозӣ дорад (агар қалам тез карда шавад, ин метавонад тағир ёбад).
Ва он рафтори зерин дорад:
  • Агар дуруст истифода бурда шавад, он аломат мегузорад.
  • Пайдо метавонад вобаста ба фишор (вобаста ба омилҳои беруна) фарқ кунад.
  • Дарозии он баробари тез шуданаш кутоҳ мешавад (рафтори доимӣ).
Чун дар ин мисол an objectҳои ҷаҳони воқеӣ метавонанд хосиятҳои зиёд дошта бошанд, аммо ҳангоми навиштани барномаҳо мо танҳо хосиятҳои заруриро ба назар мегирем. Барномасозии ба an object нигаронидашуда бартариҳои худро дорад. Масалан, он имкон медиҳад, ки робитаи байни an objectи воқеии ҷаҳонӣ ва барнома бо роҳи интизорӣ осонтар шавад. Ин воқеан кӯмак мекунад, вақте ки барнома афзоиш меёбад ва бисёр an objectҳо бо ҳамдигар ҳамкорӣ мекунанд. Ин дар тақсими масъулиятҳо дар ҷаҳони an objectивӣ кӯмак мекунад ва ба шумо имкон медиҳад, ки ба тафаккур тавассути барнома тамаркуз кунед. Хусусияти дигари муҳими марбут ба OOP (Programming Object Oriented) ин таснифи an objectҳо мебошад. Азбаски ҷаҳон (воқеӣ/виртуалӣ) пур аз ашё аст, идора кардани онҳо ба таври инфиродӣ душвор аст. Ба мо роҳе лозим аст, ки ин an objectҳоро тасниф кунем, ки ба мо барои пайваст кардани an objectҳои гуногун ва хосиятҳои онҳо, ба монанди қалами сиёҳ кӯмак кунад. Агар дар мисоли қаблӣ истифода шавад, он ғайриимкон мебуд (ҳамон?), аммо он an objectи дигар аст. Аммо азбаски ҳарду қаламанд, онҳо ба як синфи "Қалам" тааллуқ доранд. Дар ҳоле ки қалам, ки ба қалам хеле монанд аст, ба табақаи дигар тааллуқ дорад. Аммо, қалам ва қалам ҳарду "Асбоби хаттӣ" мебошанд. Барномасозии ба an object нигаронидашуда дорои принсипҳои зерин мебошад:
Абстраксия
Абстраксия ҳамчун сифати мутақобила бо ғояҳо, на рӯйдодҳо ё ба ибораи дигар, озодӣ аз сифатҳои намояндагӣ муайян карда мешавад . Ин ба барномасозон имкон медиҳад, ки ба он чизе, ки барномарезӣ кунанд , на чӣ гуна барномасозӣ кунанд . Абстраксияро метавон ҳамчун шартнома баррасӣ кард, ки тавассути он мо функсияҳоро таъмин мекунем. Ҳангоми истифодаи ин консепсия тафсилоти татбиқ метавонад пинҳон карда шавад. Масалан, агар ба мо синфе лозим бошад, ки менависад, пас мо бояд боварӣ дошта бошем, ки он усули "навиштан" дорад, abstract class writer { write (); } мо чӣ кор кардем? Мо як синфи сатҳи баландро тарҳрезӣ кардем, ки абстрактӣ аст, ба ибораи дигар, вай медонад, ки ба мо чӣ функсия лозим аст, аммо чӣ гуна татбиқи он аз доираи ин синф берун аст. Ин бартариҳои зиёд медиҳад:
  • Мо маълумоти ҳадди ақали заруриро барои субъектҳои беруна ифшо мекунем, ин ба мо имкон медиҳад, ки ба тафаккур тавассути барнома тамаркуз кунем (ин имкон медиҳад, ки тафаккури мутамарказ), аз нофаҳмиҳо канорагирӣ кунем ва аз ваъдаҳои ғайричашмдошт худдорӣ кунем.
  • Мо барои беҳбудиҳои оянда ҷой мегузорем, ки агар тафсилоти татбиқ ошкор карда шавад, ғайриимкон аст.
Мерос
"Мерос" дар забони англисӣ маънои "ба даст овардан ва гузаштан" -ро дорад. Ин вожа дар фарҳанги мо кайҳо боз вуҷуд дорад. Гузаштагон заминро бо меҳнати заҳмат кашида, ба фарзандони худ мерос гузоштаанд, ҳатто табиат ҳам меросро дӯст медорад. Ҳама хусусиятҳои бадан, ба монанди қад, ранги пӯст / чашм / мӯй ва ғайра. аз генҳое вобаста аст, ки мо аз волидонамон ба мерос мегирем. Мерос ихтироъ кардани чархро пешгирӣ мекунад ва пешрафти онро суръат мебахшад. Дар OOP ҳамин тавр аст. Мо як синфи волидайнро бо чанд хосият/рафторҳои асосӣ эҷод мекунем. Ҳама синфҳое, ки аз ин волидайн мерос мегиранд, ҳамон хосиятҳо/рафторҳои волидайни онҳоро дар бар мегиранд. Аммо, синфҳои меросӣ метавонанд хусусиятҳо/рафторҳои бештар ба даст оранд ё татбиқи рафторро тағир диҳанд. class WritingInstrument { colour; write() { } } class Pen (child of parent) { inkcolour; } Дар мисоли боло, синфи волидайн (WritingInstrument) дорои хосияти "ранг" ва рафтори "навиштан" мебошад. Вақте ки синфи насли (дастак) эълон карда мешавад, хосияти "ранг" ва рафтори "навиштан" дубора эълон кардан лозим нест. Онҳо аз сабаби мерос дар синфи "дастак" ҳузур доранд. Аммо, синфи насли метавонад хосиятҳои / рафтори иловагии худро эълон кунад. Мо инро дар амал чй тавр истифода бурда метавонем? Мо таҳиягарон хеле танбал ҳастем. Мо намехоҳем чизеро такрор ба такрор чоп кунем. Мавҷудияти нусхаҳои сершумори як code бо сабаби мулоҳизаҳои зерин рӯҳафтода мешавад:
  • Чӣ қадаре ки нусхаҳои code камтар бошад, нигоҳ доштани он ҳамон қадар осонтар аст.
  • Агар шумораи зиёди codeҳо мавҷуд набошад, тағирот дар як ҷо дар ҳама ҷо намоён мешавад.
  • Чӣ қадаре ки code камтар бошад, хатогиҳо камтаранд.
  • Агар як code дар бисёр ҷойҳо истифода шавад, он гоҳ умумият ба даст меояд.
  • Мо ба навиштани code диққат медиҳем.
  • Мо ба санҷишҳо диққат медиҳем.
Мерос дар Java бо истифода аз калимаҳои калидии "extends" ва "applements" ба даст оварда мешавад. class WritingInstrument { } class Pen extends WritingInstrument { }
Полиморфизм
Калимаи "полиморфизм" аз ду калима иборат аст: "Поли" , яъне. "бисёр" / "бештар аз як" "морф" , яъне. "Шакл" Аслан калимаи "полиморфизм" қобorяти рафтори an objectҳоро вобаста ба шароит бо тарзҳои гуногун ифода мекунад. Дар барномасозӣ, полиморфизмро дар якчанд ҷойҳо амалӣ кардан мумкин аст:
  • Синфҳо
  • Усулҳо
  • Операторон
Ҳама чизҳои дар боло зикршуда вобаста ба шароит, шояд контекст, ки дар он истифода мешаванд, метавонанд гуногун бошанд. Ин муфид аст, зеро ба муштарӣ (барномасозе, ки китобхонаҳои шуморо истифода мебарад) лозим нест, ки нозукиҳои зиёдеро донад ва функсияи дилхоҳ тавассути интихоби маълумоти зарурӣ аз контекст амалӣ карда мешавад. Class WritingObject { wrire() { // пишем, используя стандартные (по дефолту) цвета } } class Pencil extends WritingObject { write() { // пишем, используя серый цвет, написанный текст можно стереть } } class Pen extends WritingObject { write() { // пишем, используя голубой цвет, написанный текст нельзя стереть } } class Main { main() { WritingObject wr = new WritingObject(); wr.write(); // первый вызов WritingObject wr = new Pen(); wr.write(); // второй вызов WritingObject wr2 = new Pencil(); wr2.write(); // третий вызов } } Мисоли дар боло овардашуда дар WritingObject амали пешфарз дорад, ки он аз ҷониби қалам ва қалами наслҳои синфҳои наслӣ васеъ карда мешавад/барқарор карда мешавад. Усули write() дар синфи Main се маротиба даъват карда мешавад. Ҳар дафъа вобаста ба он, ки метод ба кадом an object даъват карда мешавад, татбиқи гуногун даъват карда мешавад. Дар ин ҳолат, усули write() намудҳои зиёди рафтор дорад, зеро он полиморфӣ аст.
Инкапсуляция
Инкапсуляция ҳамчун ҷамъоварии маълумот/функсияҳои алоқаманд дар як воҳид муайян карда мешавад. Ин барои осон кардани дастрасӣ/тағйири додаҳо кӯмак мекунад. Масалан, агар ба мо лозим ояд, ки тамоми хосиятҳоеро, ки корбари додашуда дорад, чоп кунем, мо имконоти зерин дорем: Мо printUserProperties(userName, userId, firstname, lastname, email, phone, … … ….) усулеро офаридаем, ки ҳамаи хосиятҳоро мегирад ва онҳоро пай дар пай чоп мекунад. Бо зиёд шудани шумораи элементҳо дар рӯйхат, дигар муайян кардани майдонҳои дуруст ғайриимкон хоҳад буд ва илова/ хориҷ кардани як майдон имзои методро тағир медиҳад. Аз ин рӯ, мо бояд ҳамаи корбарони ин усулро иваз кунем, ҳатто агар онҳо ба майдонҳои нав иловашуда ниёз надошта бошанд. Барои хондан бештар кардани code ва осон кардани тағйироти оянда, мо хосиятҳоро дар синф фаро гирифта, онро ба an objectи коллективӣ табдил медиҳем.Объект class User { userName userId firstname lastname email phone .. .. .. } printUserProperties(user) {} маҷмӯи нармафзори тағирёбандаҳо ва усулҳои алоқаманд аст. Шумо метавонед an objectҳои ҷаҳони воқеиро бо истифода аз an objectҳои барномавӣ муаррифӣ кунед. Шумо метавонед сагҳои воқеиро дар як барномаи аниматсия тасаввур кунед, ё дучархаи воқеиро ҳамчун an objectи нармафзор дар дохor велосипедҳои машқӣ тасаввур кунед. Дар OOP, синф як қолаби васеъшаванда (барнома-code-шаблон) барои эҷоди an objectҳо, таъмини онҳо бо ҳолати ибтидоӣ (тағйирёбандаҳо) ва амалисозии рафтор (функсияҳо, усулҳо) мебошад. Ихтисороти SOLID аз ҷониби Майкл Фэр барои "панҷ принсипи аввал", ки аз ҷониби Роберт Мартин дар аввали солҳои 2000-ум номгузорӣ шудааст, таҳия шудааст. Ҳадафи принсипҳо, вақте ки якҷоя амалӣ карда мешаванд, ин баланд бардоштани эҳтимолияти он аст, ки барномасоз системаеро эҷод мекунад, ки нигоҳдорӣ ва васеъ кардан осон аст. Принсипҳои SOLID дастурҳо дар таҳияи барнома мебошанд, ки барои нест кардани рамзи "пӯсида" тавассути рефакторинг заруранд, ки дар натиҷа code бояд ба осонӣ хондан ва васеъшаванда гардад. Ин як қисми стратегияи барномасозии зуд ва мутобиқ аст.
Принсипи масъулиятшиносии ягона
Дар OOP, принсипи ягонаи масъулият изҳор мекунад, ки ҳар як синф бояд барои як қисми функсияҳои аз ҷониби барнома таъминшуда масъул бошад ва масъулият бояд пурра аз ҷониби он синф фаро гирифта шавад. Тамоми фаъолияти он бояд бо ин масъулият зич алоқаманд бошад.
Принсипи кушода/пўшида
Дар OOP, принсипи кушода/пўшида изҳор мекунад, ки "an objectҳои нармафзор (синфҳо, модулҳо, усулҳо ва ғ.) бояд барои васеъшавӣ боз бошанд, аммо барои тағирот пӯшида бошанд." Ба ибораи дигар, субъект бояд иҷозат диҳад, ки рафтори он бидуни тағир додани рамзи сарчашма васеъ карда шавад.
Принсипи ивазкунии Лисков
Ҷойивазкунӣ як принсип дар OOP аст. Дар он гуфта мешавад, ки агар S дар барномаи компютерӣ зернамуди Т бошад, он гоҳ an objectҳои навъи T бояд тавре бошанд, ки онҳоро бо an objectҳои навъи S (яъне an objectҳои навъи S метавонанд бо an objectҳои навъи T иваз карда шаванд) бидуни тағир додан иваз карда шаванд. ҳама гуна барномаҳои хосиятҳои зарурӣ (дақиқӣ, анҷом додани вазифа ва ғайра).
Принсипи сегрегатсияи интерфейс
Принсипи ҷудокунии интерфейс изҳор мекунад, ки барномасози муштарӣ набояд маҷбур карда шавад, ки аз усулҳое, ки он истифода намекунад, вобаста бошад. Тибқи ин принсип, интерфейсҳои калонро ба интерфейсҳои хурдтар ва мушаххастар тақсим кардан лозим аст, то барномасози муштарӣ танҳо дар бораи усулҳое, ки барои ӯ ҷолибанд, донад. Мақсади принсипи ҷудокунии интерфейс ин нигоҳ доштани система аз ҷудошавӣ мебошад, ки рефактор, тағирот ва дубора ҷойгиркунии онро осонтар мекунад.
Принсипи инversionи вобастагӣ
Дар OOP, принсипи инversionи вобастагӣ шакли мушаххаси ҷудошавии модулҳои барномаро дорад. Бо риояи ин принсип, муносибатҳои стандартии вобастагӣ аз модулҳои сатҳи баланд, ки меъмории барномаро ташкил медиҳанд (муқаррар кардани сиёсат) ба модулҳои сатҳи поёнии вобаста ба инвертатсия (баргардон) мешаванд, то модулҳои сатҳи баланди тағирёфта аз ҷузъиёти татбиқи модулҳои сатҳи паст. Ин принсип мегӯяд:
  • Модулҳои сатҳи баланд набояд аз модулҳои сатҳи паст вобаста бошанд. Ҳарду намуди модулҳо бояд аз абстраксияҳо вобаста бошанд.
  • Абстраксияҳо набояд аз ҷузъиёти татбиқ вобаста бошанд. Тафсилот бояд аз абстраксияҳо вобаста бошад.
Принсип тарзи фикрронии одамонро дар бораи тарроҳии ба an object нигаронидашуда бо далели он, ки an objectҳои сатҳи баланд ва паст бояд аз ҳамон абстраксияҳо вобаста бошанд, тағир медиҳад.

Принсипҳои GRASP

Намунаҳои нармафзори таъини масъулияти умумӣ (GRASP) дастурҳоро барои таъини масъулиятҳо ба синфҳо ва an objectҳо дар тарҳрезии ба an object нигаронидашуда таъмин мекунанд.
Назоратчӣ
Намунаи Назоратчӣ масъулиятро барои ҳамкорӣ бо рӯйдодҳои система ба синфҳои ғайри GUI, ки тамоми системаро намояндагӣ мекунанд ё сенарияи мавриди истифода қарор медиҳанд. Назоратчӣ:
  • Ин an objectест, ки мустақиман бо корбар ҳамкорӣ намекунад ва барои қабул ва посух додан ба рӯйдодҳои система масъул аст.
  • Бояд барои мубориза бо ҳама рӯйдодҳои системаи як (ё бисёр ҳолатҳои ба ҳам алоқаманд) истифода бурда шавад.
  • Ин аввалин an objectи паси GUI мебошад, ки амалиёти системаро назорат мекунад.
  • Ба вай лозим нест, ки ин корро худаш анҷом диҳад, вазифаи ӯ назорат кардани ҷараёни ҳодисаҳост.
Офаридгор
Вазифаи синфи эҷодкор аз он иборат аст, ки an objectҳоро барои истифодаи минбаъда эҷод ва оғоз кунад. Он параметрҳои оғозёбиро медонад, инчунин кадом an object сохта мешавад. Баъзан синфи эҷодкор an objectҳоро фаъолона эҷод мекунад ва онҳоро дар кэш ҷойгир мекунад ва дар ҳолати зарурӣ як мисол медиҳад.
Ҳамбастагии баланд
Ҳамбастагии баланд як намунаи баҳодиҳӣ аст, ки ҳадафи он нигоҳ доштани an objectҳо дар чунин ҳолат аст, ки онҳо барои иҷрои як вазифаи возеҳ равона карда шуда, ба осонӣ идора ва фаҳмида мешаванд. Пайванди баланд одатан барои дастгирии пайвасти паст истифода мешавад. Мутобиқати баланд маънои онро дорад, ки масъулиятҳои як унсури додашуда ба таври возеҳ муайян карда шудаанд (қатъиян алоқаманд ва мутамарказ). Ба синфҳо ва зерсистемаҳо тақсим кардани барнома мисоли амалҳое мебошад, ки муттаҳидии хосиятҳои системаро зиёд мекунанд. Пайвастшавии фуҷур, аз тарафи дигар, вазъиятест, ки дар он унсур вазифаҳои аз ҳад зиёди ба ҳам алоқаманд дорад. Унсурҳои бо ҳам пайвастшуда одатан душворфаҳм, такроран истифодашаванда, нигоҳдорӣ душвор ва тағир додан душвор аст.
Бавосита
Намунаи гардиш пайвасти фуҷур (ва такроран истифодашаванда) байни ду унсурро тавассути гузоштани масъулият барои ҳамкории байни онҳо ба an objectи фосилавӣ нигоҳ медорад. Намунаи ҷорӣ намудани контроллер барои миёнаравӣ байни маълумот (модел) ва намоиши он (намоиш) дар намунаи Model-View-Controller (MVC) мебошад.
Мутахассиси иттилоот
Коршиноси иттилоотӣ (инчунин Принсипи коршинос ё коршиносон) як принсипест, ки барои муайян кардани масъулият ба кӣ вогузор кардан истифода мешавад. Масъулиятҳо усулҳо, соҳаҳои ҳисобшуда ва ғайраро дар бар мегиранд. Ҳангоми истифодаи ин принсип ҳангоми таъини масъулият равиши асосӣ ин пайдарпайии зерини амалҳо мебошад: таҳлor масъулият, муайян кардани маълумоте, ки барои иҷрои он зарур аст ва ниҳоят муайян кардани он, ки ин маълумот дар куҷо ҷойгир аст. Истифодаи принсипи коршиноси иттилоотӣ боиси вогузор кардани масъулият ба синфе мегардад, ки барои иҷрои он маълумоти бештар дорад.
Пайвастшавии паст
Пайвастшавии фуҷур як намунаи баҳодиҳӣ аст, ки чӣ тавр таъин кардани масъулиятҳоро муайян мекунад: пайвасти фуҷур байни синфҳо, иваз кардани яке бояд ба дигараш ҳадди аққал таъсир расонад ва истифодаи такрориро ба ҳадди аксар расонад.
Полиморфизм
Мувофиқи полиморфизм, тағирёбии рафтор вобаста ба намуд ба намудҳое таъин карда мешавад, ки ин тағирот барои онҳо рух медиҳад. Ин бо истифода аз амалиёти полиморфӣ ба даст меояд.
Вариантҳои ҳифзшуда
Намунаи тағиротҳои муҳофизатшуда унсурҳоро аз тағирот ба дигар унсурҳо (an objectҳо, системаҳо, зерсистемаҳо) тавассути печонидани фокуси ноустуворӣ дар интерфейс ва истифодаи полиморфизм барои эҷоди татбиқҳои гуногуни ин интерфейс муҳофизат мекунад.
Истеҳсоли тоза
Сохтмони пок синферо дар бар мегирад, ки консепсияро дар домени мушкилот муаррифӣ намекунад ва махсус барои ноил шудан ба пайвастагии фуҷур, пайвасти баланд ва аз ин рӯ потенсиали максималии истифодаи такрорӣ тарҳрезӣ шудааст (ҳалли пешниҳодкардаи намунаи коршиноси иттилоотӣ ба ин ноил намешавад). Чунин синф одатан дар тарҳрезии ба домен асосёфта "Хизмат" номида мешавад.

танкид

Тадқиқоти Поток ва дигарон фарқияти ҷиддии байни OOP ва равишҳои мурофиавиро нишон надоданд.
Муқоисаи интиқодии OOP бо технологияҳои дигар, махсусан технологияҳои релятсионӣ, аз сабаби мавҷуд набудани таърифи OOP, ки қатъӣ ва ба таври васеъ пазируфта шудааст, душвор аст (Кристофер Ҷ. Дайт)
Дар муқоиса бо забонҳои дигар (лаҳҷаҳои LISP, забонҳои функсионалӣ ва ғайра), забонҳои OOP бартарии беназир надоранд ва мураккабии нолозимро ба вуҷуд меоранд. (Лоуренс Крубнер)
Ман барномасозии ба an object нигаронидашударо аз ҷиҳати техникӣ ноустувор меҳисобам. Он кӯшиш мекунад, ки ҷаҳонро аз рӯи интерфейсҳое, ки дар як намуди ягона фарқ мекунанд, ба қисмҳо тақсим кунад. Барои ҳалли мушкилоти воқеӣ ба шумо алгебраҳои гуногунранг лозим аст - оилаҳои интерфейсҳо, ки дар бисёр намудҳо паҳн мешаванд. Ман барномасозии ба an object нигаронидашударо аз ҷиҳати фалсафӣ носолим мебинам. Дар он гуфта мешавад, ки ҳама чиз an object аст. Ҳатто агар ин дуруст бошад ҳам, он қадар ҷолиб нест: гуфтан, ки ҳама чиз an object аст, умуман чизе гуфтан нест. (Александр Степанов)
Маъруфияти OOP дар байни ширкатҳои бузург ба он вобаста аст, ки "гурӯҳҳои калон (ва зуд-зуд ивазшаванда) аз барномасозони миёнарав". Интизоме, ки OOP муқаррар кардааст, ба барномасоз имкон намедиҳад, ки "зарари аз ҳад зиёд" расонад. (Пол Грэм)
Барномасозии ба an object нигаронидашуда исмҳоро дар ҷои аввал мегузорад. Чаро ба чунин тадбирхои ифротӣ рафта, як қисми суханро ба поя гузоштан лозим аст? Чаро як мафҳум бар дигаре бартарӣ дорад? Барои OOP ғайриимкон аст, ки ногаҳон феълҳоро барои тафаккури мо камтар аҳамият диҳанд. Ин як дурнамои аҷибест. (Стив Йегге)
Рик Хикки, созандаи Clojure, системаҳои an objectиро ҳамчун моделҳои хеле соддашудаи ҷаҳони воқеӣ тавсиф кард. Вай ба нотавонӣ будани OOP дар дуруст моделсозии вақт таъкид кард, ки ҳангоми маъмул шудани чанд ришта дар барномаҳо мушкилоти бузург эҷод мекунад. Эрик С.Рэймонд, барномасози Unix ва ҳимоятгари нармафзори кушодаасос, аз иддаои он, ки OOP "Як ҳалли" аст, интиқод кардааст ва навиштааст, ки OOP барномаҳои бисёрқабатаро ташвиқ мекунад, ки ба шаффофият халал мерасонад. Ҳамчун равиши муқобил, Раймонд мисоли Unix ва C-ро дод.

Пайвандҳо

Аз ҷониби Маргарет Роуз @ WhatIs.com Википедиа! ( Варианти русӣ ) мерос полиморфизм аст SOLID (Тарроҳии Объект нигаронидашуда) ( Нусхаи русӣ ) Принсипи ягонаи масъулият далелҳо алайҳи OOPS ( versionи русӣ ) OOPS чист (бидуни таблиғ) Тарҷума: Варыгин Д.В.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION