{"id":249567,"date":"2023-06-08T11:14:00","date_gmt":"2023-06-08T08:14:00","guid":{"rendered":"https:\/\/inform.click\/suunnittelumalleja-aloittelijoille\/"},"modified":"2023-06-08T11:41:00","modified_gmt":"2023-06-08T08:41:00","slug":"suunnittelumalleja-aloittelijoille","status":"publish","type":"post","link":"https:\/\/inform.click\/fi\/suunnittelumalleja-aloittelijoille\/","title":{"rendered":"Suunnittelumalleja aloittelijoille"},"content":{"rendered":"<p>\n  Jos olet jo kirjoittanut ohjelmia suurille\/pienille tuotteille tai ohjelmistosovelluksille, olet todenn\u00e4k\u00f6isesti k\u00e4ytt\u00e4nyt paljon suunnittelukuvioita\u2026 vaikka on mahdollista, ett\u00e4 ne eiv\u00e4t ehk\u00e4 ole yksi k\u00e4ytetyimmist\u00e4 \/ vakiomuotoilumalleista.\n<\/p>\n<p>\n  Mutta kyll\u00e4, suunnittelumallin toteuttamisen ja suunnittelumallin &#8221;k\u00e4ytt\u00e4misen&#8221; v\u00e4lill\u00e4 on selv\u00e4 ero\u2026 joko suunnittelukuvioiden parissa ty\u00f6skentelev\u00e4 henkil\u00f6 ymm\u00e4rt\u00e4\u00e4 sen tai ymm\u00e4rt\u00e4\u00e4 sen helposti.\n<\/p>\n<p>\n  Asia on siin\u00e4, ett\u00e4 suunnittelumallit eiv\u00e4t ole uusia ohjelmoijille.\n<\/p>\n<p>\n  T\u00e4ss\u00e4 alla olevassa artikkelissa yrit\u00e4n selitt\u00e4\u00e4 suunnittelumalleja sen perusteissa, ja tutkimme eri kuvioiden yksityiskohtia, esimerkkej\u00e4 jne. toisessa artikkelissa.\n<\/p>\n<p>\n  Mik\u00e4 on suunnittelumalli?\n<\/p>\n<p>\n  <strong>Aloittaa\u2026<\/strong>\n<\/p>\n<p>\n  Mielest\u00e4ni paras tapa aloittaa suunnittelumallien ymm\u00e4rt\u00e4minen on ymm\u00e4rt\u00e4\u00e4 ei-teknisi\u00e4 malleja, joita me tietoisesti\/tiet\u00e4m\u00e4tt\u00e4 seuraamme jokap\u00e4iv\u00e4isess\u00e4 el\u00e4m\u00e4ss\u00e4mme.\n<\/p>\n<p>\n  Otetaan esimerkiksi paljon avoimeen ty\u00f6paikkaan l\u00e4hetettyj\u00e4 ansioluetteloita. Kaikkien ansioluettelo ei n\u00e4yt\u00e4 samalta\u2026 vaikka heill\u00e4 kaikilla on tapana tehd\u00e4 sama asia, eli kertoa lukijalle, mit\u00e4 he ovat taitaneet tai kuinka h\u00e4n voi soveltua ty\u00f6h\u00f6n.\n<\/p>\n<p>\n  Suurin osa heist\u00e4, jotka l\u00e4hett\u00e4v\u00e4t ansioluettelonsa t\u00f6ihin, tiet\u00e4v\u00e4t, ett\u00e4 heid\u00e4n on l\u00e4hetett\u00e4v\u00e4 ansioluettelo, jossa on tietty tietojoukko muotoillussa Word-asiakirjassa.\n<\/p>\n<p>\n  T\u00e4m\u00e4\u2026 on malli, ett\u00e4 jokainen l\u00e4hett\u00e4\u00e4 ansioluettelon, jossa on tietty tietojoukko.\n<\/p>\n<p>\n  Jos sinusta tuntuu\u2026 kutsu sit\u00e4 malleiksi kuvioiden sijaan. Suunnittelumallit.\n<\/p>\n<p>\n  Oikeassa el\u00e4m\u00e4ss\u00e4 on monia sellaisia \u200b\u200b\u200b\u200basioita, jotka ovat malleja. Jotkut ihmiset pit\u00e4v\u00e4t alla olevista esimerkeist\u00e4:\n<\/p>\n<p>\n  Kaikki kokit ymp\u00e4ri maailmaa valmistavat pizzaa tai ranskalaisia \u200b\u200bperunoita samalla tavalla. Vaikka ne voivat lis\u00e4t\u00e4 sen \/ maustaa sen eri tavalla. Se on malli.\n<\/p>\n<p>\n  Jokaisen auton suunnittelu noudattaa perussuunnittelumallia, nelj\u00e4 py\u00f6r\u00e4\u00e4, ohjauspy\u00f6r\u00e4, ydinvoimaj\u00e4rjestelm\u00e4, kuten kaasupoljin-jarru-kytkin jne.\n<\/p>\n<p>\n  Kaikki toistuvasti rakennetut \/ tuotetut asiat noudattavat v\u00e4ist\u00e4m\u00e4tt\u00e4 malliaan suunnittelussaan\u2026 olipa kyseess\u00e4 sitten autot, pizzat, pankkiautomaatit, mik\u00e4 tahansa\u2026 jopa hammasharja.\n<\/p>\n<p>\n  Suunnitteluista, joista on melkein tullut standardi tapa koodata joitain logiikkaa\/mekanismia\/tekniikkaa ohjelmistoissa, on siksi tullut tunnetuksi \u2013 ja siksi niit\u00e4 tutkitaan nimell\u00e4 Software Design Patterns.\n<\/p>\n<h3>\n  Miksi suunnittelumalli on t\u00e4rke\u00e4?<br \/>\n<\/h3>\n<p>\n  Periaatteessa kahdesta syyst\u00e4:\n<\/p>\n<ol>\n<li>\n    <strong>Pit\u00e4\u00e4 kiinni standardista<\/strong>\n  <\/li>\n<li>\n    <strong>Kehityksen vauhdittamiseksi<\/strong>\n  <\/li>\n<\/ol>\n<p>\n  Selit\u00e4n yksityiskohtaisesti.\n<\/p>\n<p>\n  Ensinn\u00e4kin n\u00e4emme, miksi vakiokuvion pit\u00e4minen on mielenkiintoista.\n<\/p>\n<p>\n  Otetaan esimerkki luettelo ansioluetteloista, joista keskustelimme aiemmin.\n<\/p>\n<p>\n  Saattaa olla yksi tai kaksi hakijaa, jotka l\u00e4hett\u00e4v\u00e4t ty\u00f6hakemuksensa s\u00e4hk\u00f6postitekstin\u00e4 ilman asianmukaista muotoilua, ilman liitteit\u00e4 s\u00e4hk\u00f6postiinsa jne., .. n\u00e4m\u00e4 yksi tai kaksi hakijaa eiv\u00e4t noudata kaavaa.. eiv\u00e4tk\u00e4 todenn\u00e4k\u00f6isesti p\u00e4\u00e4dy ty\u00f6n kanssa\u2026. miksi? Koska he poikkeavat vakiintuneesta mallista, mik\u00e4 ei ehk\u00e4 pid\u00e4 ty\u00f6paikan ansioluetteloiden listaajista.\n<\/p>\n<h5>\n  Eik\u00f6 ole ket\u00e4\u00e4n, joka poikkeaa mallista ja tulee &#8221;cooliksi&#8221;? Eik\u00f6 se ole innovaatiota?<br \/>\n<\/h5>\n<p>\n  Kyll\u00e4, joskus hyvin eri tavalla esitetty ansioluettelo saa ty\u00f6paikan, koska se on erilainen kuin muut. Yleens\u00e4 olen kuullut web-suunnittelijoista, jotka p\u00e4\u00e4tyiv\u00e4t parhaisiin t\u00f6ihin, koska he kokosivat ja esitteliv\u00e4t ty\u00f6st\u00e4\u00e4n CD-elokuvan tai tekiv\u00e4t ty\u00f6t\u00e4\u00e4n selitt\u00e4v\u00e4n animaatiohahmon, olivat laittaneet sen blogiinsa ja niin edelleen.\n<\/p>\n<p>\n  Mutta&#8230; t\u00e4m\u00e4 on kokeilua (Innovaatio tulee onnistuneista kokeiluista).\n<\/p>\n<p>\n  Useimmiten ohjelmistokehityksess\u00e4 ei ole varaa kokeilla aikajanapaineen, odotusten jne. takia, mutta kyll\u00e4, joskus mielenkiintoiset projektit mahdollistavat kokeilun.\n<\/p>\n<p>\n  Ohjelmistoissa emme voi tehd\u00e4 perusasioita, kuten pankkitalletusta\u2026 101:ll\u00e4 tavalla\u2026 pankkitalletusta voi k\u00e4sitell\u00e4 vain muutamalla tavalla. joten on j\u00e4rkev\u00e4\u00e4 noudattaa vakiintunutta ja testattua mallia.\n<\/p>\n<p>\n  Useimmissa suunnittelukuvioissa on my\u00f6s muunnelmia&#8230; jotkut muunnelmat ovat niin suosittuja, ett\u00e4 muunnelmat ovat my\u00f6s uusi vakiotyyppinen kuvio.\n<\/p>\n<p>\n  Ohjelmistoprojektien n\u00e4in\u00e4 p\u00e4ivin\u00e4 odotetaan (ainakin implisiittisesti) seuraavan markkinoilla olevan samanlaisen tuotteen\/ohjelmiston jo vakiintunutta suunnittelua.\n<\/p>\n<p>\n  T\u00e4ss\u00e4 tavanomaiseen koodaus- tai suunnittelumalliin kiinni pit\u00e4minen auttaa ohjelmistokehityst\u00e4\u2026 vauhdittamaan kehityst\u00e4, poistamaan ylim\u00e4\u00e4r\u00e4isi\u00e4 kustannuksia, joita aiheutuu uudesta testaamattomasta toteutuksesta jne.\n<\/p>\n<h5>\n  Kehitysajan kiinnitt\u00e4minen<br \/>\n<\/h5>\n<p>\n  Vakiosuunnittelumallin noudattamisella on my\u00f6s se etu, ett\u00e4 se kommunikoi helposti ohjelmistoarkkitehtien, moduulijohtojen, tiimijohtajien, kehitt\u00e4jien jne. puun\/hierarkian kautta &#8221;miten&#8221; jotain pit\u00e4\u00e4 kehitt\u00e4\u00e4, eik\u00e4 vain &#8221;mit\u00e4&#8221; on oltava kehitetty.\n<\/p>\n<p>\n  Joskus se jopa auttaa testaustiimej\u00e4, koska testaajat tiet\u00e4isiv\u00e4t kokemuksesta, ett\u00e4 tietty\u00e4 suunnittelumallia noudattava koodi voidaan todenn\u00e4k\u00f6isesti testata tietyll\u00e4 tavalla testausty\u00f6kaluilla tietyn ajan kuluessa, eik\u00e4 t\u00e4llaisissa tunnetuissa malleissa ehk\u00e4 ole joitakin puutteita. tai niiss\u00e4 on &#8221;tunnettuja&#8221; puutteita.\n<\/p>\n<h5>\n  Eik\u00f6 suunnittelukuvioiden k\u00e4ytt\u00e4minen anna persoonallisuutta?<br \/>\n<\/h5>\n<p>\n  Ei. Ensinn\u00e4kin, koska emme tarkoita, ett\u00e4 noudatat suunnittelumallia ja mit\u00e4\u00e4n muuta ei tapahdu. Useimmat projektitoteutukset jakavat vain perusvaatimukset muiden projektien kanssa, ja niiss\u00e4 on todenn\u00e4k\u00f6isesti poikkeamia. N\u00e4iden poikkeamien rakentaminen vaatii toteutuksessa k\u00e4ytettyjen standardimallien taipumista ja venytt\u00e4mist\u00e4.\n<\/p>\n<p>\n  Se on kuin pizzan tekeminen tavallisella tavalla, sitten sen maustaminen \/ esitt\u00e4minen erilaisille vaatimuksille, joko t\u00e4yteen piirakkapizzaan tai leikattu piirakka tai mit\u00e4 tahansa.\n<\/p>\n<p>\n  Suunnittelumallien t\u00e4rkeyden ymm\u00e4rt\u00e4misess\u00e4 yksi asia on <strong>hyvint\u00e4rke\u00e4<\/strong> :\n<\/p>\n<p>\n  Suunnittelumallit eiv\u00e4t ole mit\u00e4\u00e4n tekniikkaa tai kehyst\u00e4, jota tietty yritys tai ohjelmointikieli pakottaa meihin. T\u00e4m\u00e4 tarkoittaa, ett\u00e4 se on kuin avoin k\u00e4site. Voit vapaasti ottaa sen, k\u00e4ytt\u00e4\u00e4 sit\u00e4, muokata sit\u00e4 tarpeidesi mukaan ja mik\u00e4 t\u00e4rkeint\u00e4\u2026 tuntea sen omaksesi.\n<\/p>\n<p>\n  Kaikki tavalliset tai suositut suunnittelumallit ovat itse asiassa laajennettavissa melko voimakkaasti.. niist\u00e4 tuli suosittuja ensinn\u00e4kin vain siksi, ett\u00e4 monet ihmiset k\u00e4ytt\u00e4v\u00e4t sit\u00e4.. ja monet ihmiset k\u00e4ytt\u00e4v\u00e4t sit\u00e4 vain siksi, ett\u00e4 ne ovat joustavia omien vaatimustensa mukaan.\n<\/p>\n<p>\n  Tai kuinka arvelet, ett\u00e4 vakiomuotoilumalli sopisi projektiin New Jerseyss\u00e4 yritykselle ja my\u00f6s Bangaloressa eri yritykselle ja erilaiselle projektille.\n<\/p>\n<p>\n  T\u00e4m\u00e4 vie meid\u00e4t &#8221; <strong>Useimmat suunnittelumallit ovat yleisi\u00e4<\/strong> &#8221;&#8230; eli niit\u00e4 ei aina k\u00e4ytet\u00e4 samantyyppisten ohjelmistojen rakentamiseen. Et ehk\u00e4 kuule yleisiss\u00e4 keskusteluissa k\u00e4ytettyj\u00e4 asioita, kuten &#8221;pankkiohjelmistojen suunnittelumalli&#8221; tai &#8221;sosiaalisen verkostoitumisen ohjelmistosuunnittelumalli&#8221;, vaan vain &#8221;suunnittelukuvioita&#8221;.\n<\/p>\n<h3>\n  Kenen pit\u00e4isi olla huolissaan suunnittelukuvioista?<br \/>\n<\/h3>\n<ol>\n<li>Aivan kuten hyv\u00e4 rakennusarkkitehti kasvattaa taitojaan rakennusten suunnittelussa, opiskelemalla lukuisten rakennusten ja muotojen arkkitehtuuria ja suunnittelua el\u00e4m\u00e4ns\u00e4 aikana, ohjelmistoarkkitehdin tulisi tutkia ja visualisoida, kuinka eri ohjelmisto-\/teknologiaj\u00e4rjestelm\u00e4t eri puolilla maailmaa suunnitellaan tai suunnitellaan. arkkitehti.\n  <\/li>\n<li>Ja aivan kuten rakennuksen rakentajien tulisi olla tietoisia erilaisista tavoista toteuttaa rakennussuunnitelma joko omasta kokemuksestaan \u200b\u200btai rakennuksen arkkitehdin ymm\u00e4rt\u00e4m\u00e4ll\u00e4.\n  <\/li>\n<\/ol>\n<p>\n  Ohjelmistokehitt\u00e4jien\/ohjelmoijien tulee ymm\u00e4rt\u00e4\u00e4 ohjelmistojen suunnittelun perusmallit ja niiden toteutuskoodit\u2026 joko itse tai ohjelmistoarkkitehti, joka neuvoo tiimi\u00e4 kehitt\u00e4m\u00e4\u00e4n sen tietyn mallin mukaan.\n<\/p>\n<h3>\n  Peruskoodimallit<br \/>\n<\/h3>\n<p>\n  T\u00e4m\u00e4n artikkelin aloitusriveiss\u00e4 sanoin, ett\u00e4 kuka tahansa ohjelmoija olisi k\u00e4ytt\u00e4nyt suunnittelumalleja. T\u00e4ss\u00e4 on joitain hyvin yksinkertaisia \u200b\u200besimerkkej\u00e4 koodista, joka seuraa mallia.\n<\/p>\n<ol>\n<li>\n<p>\n      Seuraavassa on <strong>Intercepting Filter<\/strong> -suunnittelumalli.\n    <\/p>\n<\/li>\n<li>\n<p>\n      Piilota Kopioi koodi\n    <\/p>\n<\/li>\n<li>\n<pre><code>switch (condition){\n     case Value1:\n     case Value2:\n     default:\n}<\/code><\/pre>\n<\/li>\n<li>\n<p>\n      Tapahtumalaukaisimet, tapahtumak\u00e4sittelij\u00e4t&#8230; kuuluvat <strong>Subject-Observer-<\/strong> perussuunnittelumalliin. Keskustelemme kunkin mallin standardeista, suosituista muunnelmista esimerkein&#8230; pian.\n    <\/p>\n<\/li>\n<li>\n<p>\n      Jos olet k\u00e4ytt\u00e4nyt jonkinlaisia \u200b\u200bkokoelmia, kuten Arraylist C#:ssa, ja iteroinut taulukon l\u00e4pi, olet k\u00e4ytt\u00e4nyt <strong>Iteratorin<\/strong> perussuunnittelumallia .\n    <\/p>\n<\/li>\n<li>\n<p>\n      Alla oleva koodi on esimerkki poikkeusten k\u00e4sittelyn \/ <strong>vastuun ketjun<\/strong> perusmallista .\n    <\/p>\n<\/li>\n<li>\n<p>\n      Piilota Kopioi koodi\n    <\/p>\n<\/li>\n<li>\n<pre><code>try{\n}catch(Exception ex){\n}\nfinally{\n}<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>\n  Suunnittelukuvioiden eri alueet<br \/>\n<\/h3>\n<p>\n  Ohjelmistoissa on erilaisia \u200b\u200bterminologioita kuin Design Patterns.. osa niist\u00e4 liittyy usein suunnittelumalleihin, joista olemme t\u00e4h\u00e4n menness\u00e4 keskustelleet.. ja osa niist\u00e4 ei liity t\u00e4ysin toisiinsa.\n<\/p>\n<p>\n  Sit\u00e4, mit\u00e4 olemme t\u00e4h\u00e4n menness\u00e4 keskustelleet yll\u00e4, kutsutaan joskus &#8221; <strong>toteutussuunnittelukuviksi<\/strong> &#8221;.\n<\/p>\n<p>\n  On muitakin, kuten <strong>arkkitehtuurimalleja, puitemalleja, kielimalleja<\/strong> (jota enimm\u00e4kseen kutsutaan kielirakenteiksi).\n<\/p>\n<p>\n  Ne ovat eri tasoille asetettuja malleja\u2026 kuten <strong>Kielimallit<\/strong> ovat kaavoja, jotka on toteutettu osana ohjelmointikieli\u00e4, kuten C# \/ Java, kielen ominaisuuksina \/ rakenteina.. osan niist\u00e4 olemme jo n\u00e4hneet.\n<\/p>\n<p>\n  Kaikki yll\u00e4 olevat esimerkit subjekti-tarkkailijasta, sieppaussuodattimesta jne. ovat kielirakenteita kaikissa suosituissa korkean tason ohjelmointikieliss\u00e4, jotka tulivat C:n j\u00e4lkeen.\n<\/p>\n<p>\n  <strong>Arkkitehtuurimallit<\/strong> ovat ohjelmistoarkkitehtuurin vakiomalleja, jotka yleens\u00e4 viittaavat erilaisiin moduulien tai kerrosten tai tasojen sijoittamisen tai linkitt\u00e4misen eri menetelmiin, jotka muodostavat koko sovelluksen.\n<\/p>\n<p>\n  T\u00e4m\u00e4 ei mitenk\u00e4\u00e4n liity suunnittelumalleihin koodauksen\/ohjelmoinnin merkityksess\u00e4, mutta niill\u00e4 on samat vastaukset miksi\/mit\u00e4 on t\u00e4ss\u00e4 artikkelissa k\u00e4sitelty.\n<\/p>\n<p>\n  <strong>Kehysmallit<\/strong> eiv\u00e4t my\u00f6sk\u00e4\u00e4n liity keskusteluun suunnittelumalleista. Kun .NET:n kaltaiset puitteet toteuttavat erityisi\u00e4 keinoja kirjaamaan virheit\u00e4 tai j\u00e4ljitt\u00e4m\u00e4\u00e4n koodin suoritusreittej\u00e4 helposti kehyksen sis\u00e4\u00e4nrakennettujen menetelmien tai objektien kautta, t\u00e4llaisia \u200b\u200bmekanismeja kutsutaan Framework-malleiksi.\n<\/p>\n<p>\n  Joitakin .NET Frameworkin esimerkkej\u00e4 ovat stackTrace-ominaisuus, luokkaattribuuttiominaisuus, jossa on []-hakasulkeet luokka-\/menetelm\u00e4m\u00e4\u00e4ritelmien p\u00e4\u00e4ll\u00e4 jne.. T\u00e4llaisia \u200b\u200bominaisuuksia k\u00e4ytett\u00e4ess\u00e4 koodaamme Frameworkin sis\u00e4\u00e4nrakennetuilla malleilla.\n<\/p>\n<p>\n  Toivon, ett\u00e4 t\u00e4m\u00e4 artikkeli auttaa tarjoamaan yleiskatsauksen suunnittelumalleista ja niihin liittyvist\u00e4 terminologioista.\n<\/p>\n<p>\n  Toistaiseksi olemme keskustelleet vain siit\u00e4, mit\u00e4 standardit ovat ja kuinka t\u00e4rkeit\u00e4 ne ovat.. mutta emme keskustelleet siit\u00e4, mit\u00e4 standardimallit itse ovat.\n<\/p>\n<h4>\n  Lisenssi<br \/>\n<\/h4>\n<p>\n  T\u00e4m\u00e4 artikkeli, kaikki siihen liittyv\u00e4t l\u00e4hdekoodit ja tiedostot, on lisensoitu The Code Project Open License (CPOL) -lisenssill\u00e4.\n<\/p>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  : <a target=\"_blank\" rel=\"noopener nofollow\" data-pssr=\"\" href=\"http:\/\/www.instantshift.com\/2016\/01\/12\/models-of-design-for-beginners\/\">instantshift.com<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Jos olet jo kirjoittanut ohjelmia suurille\/pienille tuotteille tai ohjelmistosovelluksille, olet todenn\u00e4k\u00f6isesti k\u00e4ytt\u00e4nyt paljon suunnittelukuvioita\u2026 vaikka on mahdollista, ett\u00e4 ne eiv\u00e4t ehk\u00e4 ole yksi k\u00e4ytetyimmist\u00e4 \/ vakiomuotoilumalleista. Mutta kyll\u00e4, suunnittelumallin toteuttamisen ja suunnittelumallin \u201dk\u00e4ytt\u00e4misen\u201d v\u00e4lill\u00e4 on selv\u00e4 ero\u2026 joko suunnittelukuvioiden parissa ty\u00f6skentelev\u00e4 henkil\u00f6 ymm\u00e4rt\u00e4\u00e4 sen tai ymm\u00e4rt\u00e4\u00e4 sen helposti. Asia on siin\u00e4, ett\u00e4 suunnittelumallit eiv\u00e4t ole uusia ohjelmoijille. T\u00e4ss\u00e4 alla olevassa artikkelissa yrit\u00e4n selitt\u00e4\u00e4 suunnittelumalleja sen perusteissa ja\u2026<\/p>\n","protected":false},"author":1,"featured_media":142080,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[222,53,196,144],"tags":[],"class_list":["post-249567","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oppikirjoja","category-web-ja-wordpress-2","category-web-suunnittelu","category-web-vinkkeja-ja-vinkkeja"],"_links":{"self":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/comments?post=249567"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/posts\/249567\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media\/142080"}],"wp:attachment":[{"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/media?parent=249567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/categories?post=249567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/fi\/wp-json\/wp\/v2\/tags?post=249567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}