{"id":229518,"date":"2022-11-17T10:01:00","date_gmt":"2022-11-17T07:01:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229518"},"modified":"2022-11-17T18:38:19","modified_gmt":"2022-11-17T15:38:19","slug":"objektorienteeritud-programmeerimine-wordpressis-analueues-2-osa","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/et\/objektorienteeritud-programmeerimine-wordpressis-analueues-2-osa\/","title":{"rendered":"Objektorienteeritud programmeerimine WordPressis: anal\u00fc\u00fcs, 2. osa"},"content":{"rendered":"\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/et\/objektorienteeritud-programmeerimine-wordpressis-analueues-1-osa\/\" title=\"Selle seeria esimeses postituses\">Selle seeria esimeses postituses<\/a> r\u00e4\u00e4kisin k\u00f5igest sellest, kuidas soovisin k\u00e4sitleda sissejuhatust objektorienteeritud programmeerimisse WordPressi kontekstis.<\/p>\n<p>Objektorienteeritud programmeerimiseks on m\u00f5ned suurep\u00e4rased ressursid, kuid need v\u00f5ivad kasutada v\u00e4ljam\u00f5eldud n\u00e4iteid v\u00f5i liikuda liiga kiiresti nende jaoks, kes alles soovivad alustada.<\/p>\n<p>P\u00fc\u00fcdes seda v\u00e4ltida, arvan, et OOP-ist r\u00e4\u00e4kimine WordPressis kinnitab meid tugevale alusele ja praktiliste n\u00e4idete kasutamine on alati parem kui \u00fcldiste n\u00e4idete kasutamine, mida on keeruline domeeni, kus me t\u00f6\u00f6tame, t\u00f5lkida.<\/p>\n<p>Neile, kes pole <a href=\"https:\/\/tommcfarlin.com\/register\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">veel liitunud<\/a> v\u00f5i kes pole veel j\u00e4rele j\u00f5udnud, on esimene postitus j\u00e4rgmistel teemadel:<\/p>\n<ul>\n<li>objektorienteeritud anal\u00fc\u00fcs,<\/li>\n<li>Vajalike asjade ja heade asjade kindlaksm\u00e4\u00e4ramine,<\/li>\n<li>Ja miks see raske on?<\/li>\n<\/ul>\n<p>Ja siit see postitus pikima hakkabki.<\/p>\n<h2>Objektorienteeritud programmeerimine: rohkem anal\u00fc\u00fcsi<\/h2>\n<p>Ma tean: koodi kirjutamisel tahame esimese asjana maha istuda ja koodi kirjutama hakata. Mis on parem kui panna midagi ekraanil juhtuma?<\/p>\n<p>Ja kui teete seda enda jaoks, pole see nii suur asi, kuid koodi kirjutamisel on see j\u00e4rgmine:<\/p>\n<ul>\n<li>mida haldab inimeste meeskond,<\/li>\n<li>m\u00fc\u00fcgiks,<\/li>\n<li>v\u00f5i k\u00f5igi \u00fclalnimetatute jaoks<\/li>\n<\/ul>\n<p>See teeb vahet. Sest hea anal\u00fc\u00fcs v\u00f5ib viia hea korralduseni, mis v\u00f5ib viia hea hooldatavuseni.<\/p>\n<p>Vastasel juhul teete tarnimiseks midagi kokku ja see ei sobi tulevaste versioonidega h\u00e4sti. Ja see on asi, millest me kogu seeria jooksul p\u00f5hjalikult r\u00e4\u00e4gime.<\/p>\n<p>Kuid milline on hea viis hea anal\u00fc\u00fcsi tegemise kolme lihtsa sammuga kokkuv\u00f5tmiseks? See ei ole tingimata kuulikindel vastus, kuid seda p\u00fc\u00fcame teha alati, kui t\u00f6\u00f6tame projektidega:<\/p>\n<ol>\n<li>Veenduge, et kood teeks seda, mida klient soovib,<\/li>\n<li>Rakendage h\u00e4id objektorienteeritud tavasid,<\/li>\n<li>Eesm\u00e4rk on hooldatav disain.<\/li>\n<\/ol>\n<p>K\u00f5ik see k\u00f5lab teoreetiliselt h\u00e4sti, kuid kuidas me teame, kas teeme seda \u00f5igesti, igasse asjasse s\u00fcvenemata? Teisis\u00f5nu, siit leiame sageli raamatuid, ressursse ja muid utiliite, mis raskendavad paremaks objektorienteeritud programmeerijaks saamist.<\/p>\n<p>T\u00e4pselt seda tahan ma v\u00e4ltida, nii et ma kaevun igasse punkti veidi s\u00fcgavamale.<\/p>\n<h3>1 Mida klient soovib<\/h3>\n<p>See v\u00f5ib sageli olla kogu projekti \u00fcks keerulisemaid aspekte, kuna arendajatena r\u00e4\u00e4gime kliendiga erinevat keelt.<\/p>\n<p>Nad mitte ainult ei kasuta sageli terminoloogiat, mida me ei kasutaks, vaid nad arvavad sageli, et see, mida nad ekraanilt tahavad, on parim viis selle saavutamiseks. See muudab nende parandamise proovimise t\u00f5esti halvustavaks ja valeks, kas pole?<\/p>\n<p>Kujutage ette, et proovite \u00f6elda kellelegi, mida teate, mida soovite, ja ta parandab teid. Selle hoolikas k\u00e4sitlemine v\u00f5ib saavutada suurt suhtelist v\u00f5rdsust, kuid kulub teatud aega, et &quot;v\u00e4lja kaevata&quot;, mida nad tegelikult tahavad, v\u00f5rreldes sellega, mida nad \u00fctlevad, et tahavad.<\/p>\n<p>Ja me sukeldume sellesse tulevases postituses l\u00e4hemalt.<\/p>\n<h3>2 objektorienteeritud praktikat<\/h3>\n<p>Ilmselgelt tuleneb see teadmisest, millised on head objektorienteeritud tavad ja see on midagi, mida kavatsen k\u00e4sitleda.<\/p>\n<p>Paljud inimesed \u00fctlevad asju, kasutades selliseid asju nagu:<\/p>\n<ul>\n<li>SOLID p\u00f5him\u00f5tted,<\/li>\n<li>p\u00e4rand,<\/li>\n<li>DRY kood,<\/li>\n<li>s\u00f5ltuvuss\u00fcst,<\/li>\n<li>ja nii edasi<\/li>\n<\/ul>\n<p>Kas k\u00f5ik on heade objektorienteeritud tavade j\u00e4rgimiseks olulised.<\/p>\n<p>Ja v\u00f5ib-olla pole see populaarne asi, mida \u00f6eldakse, kuid ma olen seisukohal, et p\u00fc\u00fcda k\u00f5iki asju pidevalt kasutada ei ole alati hea m\u00f5te. See t\u00e4hendab, et te kindlasti ei soovi, et kood korduks kogu oma koodibaasis, kuid kas teil peab koodibaasis olema p\u00e4rand?<\/p>\n<p>Ei.<\/p>\n<p>On aegu, mil p\u00f5him\u00f5tteid tuleks rakendada ja millal v\u00f5ib neid ignoreerida. Kuid nende teadmine, millal neid k\u00f5ige paremini kasutada ja millal neid kasutada, on nende tavade \u00f5igeks kasutamiseks v\u00f5tmet\u00e4htsusega.<\/p>\n<h3>3 Hooldatav disain<\/h3>\n<p>Lihtsamalt \u00f6eldes muudab mustrite ja p\u00f5him\u00f5tete rakendamine tarkvarale selle kirjutamisel see, mis muudab selle kasutamise ja hooldamise tulevikus palju lihtsamaks.<\/p>\n<p>Aga j\u00e4llegi, see s\u00f5ltub sellest:<\/p>\n<ol>\n<li>m\u00f5istab t\u00e4ielikult, mida klient soovib,<\/li>\n<li>teades, millised tavad on olemas, millal neid rakendada ja millal neid v\u00e4ltida.<\/li>\n<\/ol>\n<p>Ja k\u00f5ige \u00fclaltoodu tegemiseks peame vaatama iga punkti selle kontekstis, enne kui astume sammu tagasi, et vaadata suuremat pilti.<\/p>\n<h2>Mida klient soovib?<\/h2>\n<p>Ilmselgelt on \u00fclaltoodud kolme punkti osas palju maad katta. Kuid kui soovite WordPressi majanduses kirjutada head, hooldatavat tarkvara, on oluline m\u00f5ista, kuidas see k\u00f5ik kokku sobib.<\/p>\n<p>Nii et selle asemel, et hakata koodi kirjutama v\u00f5i projekti kallal t\u00f6\u00f6tama, uurime j\u00e4rgmisena, kuidas v\u00f5tta seda, mida klient soovib, ja seej\u00e4rel de\u0161ifreerida see n\u00f5uete kogumiks, mis v\u00f5imaldab meil luua t\u00f6\u00f6avaldus.<\/p>\n<p>Nii on meil l\u00f5puks t\u00f6\u00f6dokument selle kohta, mida klient soovib ja mida me ehitame, ning oleme k\u00f5ik \u00fchel lehel.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>WordPressis objektorienteeritud programmeerimisest r\u00e4\u00e4kimine kinnitab meid tugevale alusele ja praktiliste n\u00e4idete kasutamine on alati parem kui geneerilised ravimid.<\/p>\n","protected":false},"author":1,"featured_media":165340,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[718,894],"tags":[1165],"class_list":["post-229518","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arendaja","category-kood","tag-affiai-et"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229518","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/comments?post=229518"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/posts\/229518\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media\/165340"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/media?parent=229518"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/categories?post=229518"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/et\/wp-json\/wp\/v2\/tags?post=229518"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}