{"id":7774,"date":"2024-12-26T23:00:17","date_gmt":"2024-12-26T20:00:17","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/"},"modified":"2024-12-26T23:00:17","modified_gmt":"2024-12-26T20:00:17","slug":"tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/","title":{"rendered":"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke"},"content":{"rendered":"<p><body><\/p>\n<p>Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke<\/p>\n<p>Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan &#8220;Tell, Don&#8217;t Ask&#8221; (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.  Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini &#8220;s\u00f6ylemeyi&#8221; savunur.  K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z. <\/p>\n<p>Peki, bu prensip neden \u00f6nemlidir?  \u00d6ncelikle, kodun okunabilirli\u011fini ve anla\u015f\u0131l\u0131rl\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.  Bir nesnenin durumunu sorgulayarak onunla ilgili bir i\u015flem yapmak yerine, do\u011frudan o nesneye i\u015flemi yapt\u0131rmak, kodun daha ak\u0131c\u0131 ve daha kolay anla\u015f\u0131l\u0131r olmas\u0131n\u0131 sa\u011flar.  Ayr\u0131ca, &#8220;Tell, Don&#8217;t Ask&#8221; prensibi, kodun daha az karma\u015f\u0131k ve daha s\u00fcrd\u00fcr\u00fclebilir olmas\u0131n\u0131 sa\u011flar.  Nesnelerin i\u00e7 durumlar\u0131 de\u011fi\u015fti\u011finde,  &#8220;sorgulama&#8221; yakla\u015f\u0131m\u0131yla yaz\u0131lm\u0131\u015f kodlarda bir\u00e7ok yerin de\u011fi\u015ftirilmesi gerekebilir.  Ancak &#8220;s\u00f6yleme&#8221; yakla\u015f\u0131m\u0131yla yaz\u0131lm\u0131\u015f kodlarda, de\u011fi\u015fiklik yap\u0131lmas\u0131 gereken yer say\u0131s\u0131 \u00e7ok daha azd\u0131r.<\/p>\n<h2>&#8220;Sorma&#8221; Yakla\u015f\u0131m\u0131n\u0131n Dezavantajlar\u0131<\/h2>\n<p>\u00d6ncelikle, &#8220;sorma&#8221; yakla\u015f\u0131m\u0131n\u0131n neden istenmeyen bir yakla\u015f\u0131m oldu\u011funu \u00f6rneklerle inceleyelim.  Diyelim ki bir <code>Oyuncu<\/code> s\u0131n\u0131f\u0131m\u0131z var ve bu oyuncunun  <code>sa\u011fl\u0131k<\/code> ve <code>silahlar<\/code> gibi \u00f6zellikleri var.  &#8220;Sorma&#8221; yakla\u015f\u0131m\u0131yla, oyuncunun bir d\u00fc\u015fmana sald\u0131rmas\u0131n\u0131 \u015fu \u015fekilde kodlayabiliriz:<\/p>\n<pre><code class=\"language-java\">\npublic class Oyuncu {\n    private int sa\u011fl\u0131k;\n    private List&lt;Silah&gt; silahlar;\n\n    \/\/ ... di\u011fer metotlar ...\n\n    public void d\u00fc\u015fmanaSald\u0131r(D\u00fc\u015fman d\u00fc\u015fman) {\n        if (sa\u011fl\u0131k &gt; 0 &amp;&amp; silahlar.size() &gt; 0) {\n            \/\/ Sald\u0131r\u0131 i\u015flemleri...\n        } else {\n            \/\/ Sald\u0131r\u0131 yap\u0131lamaz mesaj\u0131...\n        }\n    }\n}\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>d\u00fc\u015fmanaSald\u0131r<\/code> metodu, oyuncunun sa\u011fl\u0131k durumunu ve silahlar\u0131n\u0131 kontrol ederek sald\u0131r\u0131 yap\u0131p yapamayaca\u011f\u0131na karar veriyor. Bu, &#8220;sorgulama&#8221; yakla\u015f\u0131m\u0131n\u0131n bir \u00f6rne\u011fidir.  Bu yakla\u015f\u0131m\u0131n dezavantaj\u0131, <code>Oyuncu<\/code> s\u0131n\u0131f\u0131n\u0131n i\u00e7 durumuna ba\u011f\u0131ml\u0131 olmas\u0131d\u0131r.  <code>sa\u011fl\u0131k<\/code> veya <code>silahlar<\/code> de\u011fi\u015firse,  <code>d\u00fc\u015fmanaSald\u0131r<\/code> metodu da de\u011fi\u015ftirilmelidir. Bu da bak\u0131m\u0131 zorla\u015ft\u0131ran bir durumdur. <\/p>\n<h2>&#8220;S\u00f6yleme&#8221; Yakla\u015f\u0131m\u0131n\u0131n Avantajlar\u0131<\/h2>\n<p>\u015eimdi de &#8220;s\u00f6yleme&#8221; yakla\u015f\u0131m\u0131n\u0131 ele alal\u0131m. Ayn\u0131 i\u015flemi &#8220;s\u00f6yleme&#8221; yakla\u015f\u0131m\u0131yla \u015fu \u015fekilde ger\u00e7ekle\u015ftirebiliriz:<\/p>\n<pre><code class=\"language-java\">\npublic class Oyuncu {\n    \/\/ ... di\u011fer metotlar ...\n\n    public void sald\u0131r(D\u00fc\u015fman d\u00fc\u015fman) {\n        \/\/ Sald\u0131r\u0131 i\u015flemleri...  (Sa\u011fl\u0131k ve silah durumunu kontrol etmez)\n    }\n}\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>sald\u0131r<\/code> metodu, oyuncunun sa\u011fl\u0131k durumunu veya silah durumunu kontrol etmez.  Bunun yerine, do\u011frudan sald\u0131r\u0131 i\u015flemlerini ger\u00e7ekle\u015ftirir.  Bu yakla\u015f\u0131m, <code>Oyuncu<\/code> s\u0131n\u0131f\u0131n\u0131n i\u00e7 durumundan ba\u011f\u0131ms\u0131zd\u0131r.  <code>sa\u011fl\u0131k<\/code> veya <code>silahlar<\/code> de\u011fi\u015firse, <code>sald\u0131r<\/code> metodu de\u011fi\u015ftirilmesine gerek kalmaz.  Bu da kodun daha s\u00fcrd\u00fcr\u00fclebilir ve daha kolay anla\u015f\u0131l\u0131r olmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Sonu\u00e7 olarak, &#8220;Tell, Don&#8217;t Ask&#8221; prensibi, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini s\u00f6ylememizi \u00f6nerir. Bu yakla\u015f\u0131m, daha temiz, s\u00fcrd\u00fcr\u00fclebilir, test edilebilir ve daha anla\u015f\u0131l\u0131r kod yaz\u0131lmas\u0131na yard\u0131mc\u0131 olur.  Bu prensibi uygulayarak, daha sa\u011flam ve \u00f6l\u00e7eklenebilir yaz\u0131l\u0131mlar geli\u015ftirebilirsiniz.  Daha fazla bilgi i\u00e7in <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresini ziyaret edebilirsiniz.  Ayr\u0131ca, konuyla ilgili daha detayl\u0131 bilgi i\u00e7in  <a href=\"https:\/\/dev.to\/thibaultchatelain\/tell-dont-ask-principle-explained-1gbf\">bu \u0130ngilizce makaleye<\/a> de g\u00f6z atabilirsiniz.<\/p>\n<p>#Etiketler<br \/>\nTell Don&#8217;t Ask, Nesne Y\u00f6nelimli Programlama, OOP, Tasar\u0131m Prensipleri, Yaz\u0131l\u0131m Geli\u015ftirme, Temiz Kod, S\u00fcrd\u00fcr\u00fclebilir Kod, Test Edilebilir Kod, Fatih Soysal<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-7774","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tell, Don&#039;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke<\/title>\n<meta name=\"description\" content=\"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan &quot;Tell, Don&#039;t Ask&quot; (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini &quot;s\u00f6ylemeyi&quot; savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tell, Don&#039;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke\" \/>\n<meta property=\"og:description\" content=\"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan &quot;Tell, Don&#039;t Ask&quot; (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini &quot;s\u00f6ylemeyi&quot; savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-26T20:00:17+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke\",\"datePublished\":\"2024-12-26T20:00:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\"},\"wordCount\":544,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\",\"name\":\"Tell, Don't Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-12-26T20:00:17+00:00\",\"description\":\"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan \\\"Tell, Don't Ask\\\" (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini \\\"s\u00f6ylemeyi\\\" savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tell, Don't Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke","description":"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan \"Tell, Don't Ask\" (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini \"s\u00f6ylemeyi\" savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/","og_locale":"tr_TR","og_type":"article","og_title":"Tell, Don't Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke","og_description":"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan \"Tell, Don't Ask\" (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini \"s\u00f6ylemeyi\" savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.","og_url":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-12-26T20:00:17+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke","datePublished":"2024-12-26T20:00:17+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/"},"wordCount":544,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/","url":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/","name":"Tell, Don't Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-12-26T20:00:17+00:00","description":"Nesne y\u00f6nelimli programlamada (OOP) s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131m\u0131z bir tasar\u0131m ilkesi olan \"Tell, Don't Ask\" (S\u00f6yle, Sorma) prensibi, kod kalitesini ve s\u00fcrd\u00fcr\u00fclebilirli\u011fini \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Bu prensip, nesnelerin i\u00e7 durumlar\u0131na do\u011frudan eri\u015fmek yerine, nesnelere ne yapmalar\u0131 gerekti\u011fini \"s\u00f6ylemeyi\" savunur. K\u0131sacas\u0131, nesnenin durumunu sorgulamak yerine, do\u011frudan ona bir eylem yapt\u0131r\u0131r\u0131z.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/tell-dont-ask-prensibi-nesne-yonelimli-tasarimda-temel-bir-ilke\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tell, Don&#8217;t Ask Prensibi: Nesne Y\u00f6nelimli Tasar\u0131mda Temel Bir \u0130lke"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/7774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=7774"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/7774\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=7774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=7774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=7774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}