[{"data":1,"prerenderedAt":386},["ShallowReactive",2],{"post-\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir":3},{"page":4,"translation":230,"nav":248,"related":366,"random":377},{"id":5,"title":6,"body":7,"categories":228,"category":230,"date":231,"description":232,"draft":233,"extension":234,"image":235,"kind":230,"lang":236,"meta":237,"navigation":238,"path":239,"readingTime":218,"seo":240,"slug":241,"stem":242,"tags":243,"translationKey":230,"type":229,"updated":230,"__hash__":247},"postsTr\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir.md","Design Patterns \u002F Tasarım Desenleri nedir?",{"type":8,"value":9,"toc":216},"minimark",[10,25,30,37,40,43,47,50,53,56,60,63,68,102,106,150,154],[11,12,13,14,24],"p",{},"Bu içerik ağırlıklı olarak ",[15,16,23],"a",{"href":17,"rel":18,"target":22},"https:\u002F\u002Frefactoring.guru\u002Fdesign-patterns",[19,20,21],"nofollow","noopener","noreferrer","_blank","refactoring.guru"," sitesindeki içeriğin tercümesi ve derlenmesinden oluşturulmuştur. Başka kaynaklardan da ek bilgiler içerebilir.",[26,27,29],"h2",{"id":28},"tasarım-desenleri-nedir","Tasarım Desenleri nedir?",[11,31,32,36],{},[33,34,35],"strong",{},"Tasarım Desenleri"," (veya bir diğer kullanımla tasarım kalıpları) yazılımda sık karşılaşılan problemler için oluşturulmuş çözümlerdir. Kodunuz içerisinde sıklıkla karşılaşılan sorunları çözmek için özelleştirerek kullanabileceğiniz önceden hazırlanmış planlar olarak düşünebilirsiniz. Tasarım kalıpları bir fonksiyon, ya da sınıf gibi hazır olarak bulup kodunuza ekleyebileceğiniz parçalar değil, prorblem çözümü için kullanılan genel konseptlerdir.",[11,38,39],{},"Her ikiside bilinen problemleri çözmek için üretilmiş tipik çözümler olduğundan tasarım desenleri genelde algoritmalarla karıştırılır. Algoritmalar bir hedefe ulaşabilecek net bir eylemler kümesi tanımlarken, tasarım desenleri bir çözümün daha üst düzey bir tanımıdır. Aynı desenin iki farklı programa uygulanan kodu farklı olabilir.",[11,41,42],{},"Bir algoritmayı yemek tarifine benzetebiliriz. Kullanılacak malzemeler ve takip edilecek adımlar net olarak bellidir. Öte yandan bir tasarım kalıbı daha çok bir plan gibidir, sonuçta bekleneni ve özellikleri görürsünüz ama uygulama sırası ve şekli biraz daha size bağlıdır.",[26,44,46],{"id":45},"tasarım-deseni-çeşitleri-nelerdir","Tasarım deseni çeşitleri nelerdir?",[11,48,49],{},"Tasarım desenleri karmaşıklığı, detay düzeyleri ve tasarlanan sistemin ne kadarına uygulanabileceğine bağlı olarak değişiklik gösterirler.",[11,51,52],{},"En basit ve alt düzey kalıplar deyimler 'idoms' olarak adlandırılır. Bunlar genellikle belirli bir programla diline özeldir.",[11,54,55],{},"Daha evrensel ve üst seviye olan desenler ise mimari desenler ('architectural patterns') olarak adlandırılır. Bu desenler teorik olarak herhangi bir programlama diline uygulanabilir. Diğer desenlerin aksine uygulamanın tamamının yapısını tasarlamaya olanak sağlarlar.",[26,57,59],{"id":58},"kullanım-amaçlarına-göre-tasarım-desenleri-design-patterns","Kullanım Amaçlarına Göre Tasarım Desenleri \u002F Design Patterns",[11,61,62],{},"Yazının devamında tasrım desenleri isimlerini ingilizce olarak kullanacağım. Fazlasıyla teknik terimler olduğu için Türkçe karşılıkları anlaşılır\u002Fmantıklı olmuyor.",[64,65,67],"h3",{"id":66},"yaratımsal-desenler-creational-patterns","Yaratımsal Desenler (Creational Patterns)",[69,70,71,78,84,90,96],"ul",{},[72,73,74],"li",{},[15,75,77],{"href":76},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-factory-method-nedir","Factory Method",[72,79,80],{},[15,81,83],{"href":82},"\u002Ftr\u002Ftasarim-kaliplari-design-patterns-abstract-factory-nedir","Abstract Factory",[72,85,86],{},[15,87,89],{"href":88},"\u002Ftr\u002Fbuilder-tasarim-deseni-nedir","Builder",[72,91,92],{},[15,93,95],{"href":94},"\u002Ftr\u002Fprototype-tasarim-deseni-nedir","Prototype",[72,97,98],{},[15,99,101],{"href":100},"\u002Ftr\u002Fsingleton-tasarim-deseni-nedir","Singleton",[64,103,105],{"id":104},"yapısal-desenler-structural-patterns","Yapısal Desenler (Structural Patterns)",[69,107,108,114,120,126,132,138,144],{},[72,109,110],{},[15,111,113],{"href":112},"\u002Ftr\u002Fadapter-tasarim-deseni-nedir","Adapter",[72,115,116],{},[15,117,119],{"href":118},"\u002Ftr\u002Fbridge-tasarim-deseni-nedir","Bridge",[72,121,122],{},[15,123,125],{"href":124},"\u002Ftr\u002Fcomposite-tasarim-deseni-nedir","Composite",[72,127,128],{},[15,129,131],{"href":130},"\u002Ftr\u002Fdecorator-tasarim-deseni-nedir","Decorator",[72,133,134],{},[15,135,137],{"href":136},"\u002Ftr\u002Ffacade-tasarim-deseni-nedir","Facade",[72,139,140],{},[15,141,143],{"href":142},"\u002Ftr\u002Fflyweight-tasarim-deseni-nedir","Flyweight",[72,145,146],{},[15,147,149],{"href":148},"\u002Ftr\u002Fproxy-tasarim-deseni-nedir","Proxy",[64,151,153],{"id":152},"davranışsal-desenler-behavioral-patterns","Davranışsal Desenler (Behavioral Patterns)",[69,155,156,162,168,174,180,186,192,198,204,210],{},[72,157,158],{},[15,159,161],{"href":160},"\u002Ftr\u002Fchain-of-responsibility-deseni-nedir","Chain of Responsibility",[72,163,164],{},[15,165,167],{"href":166},"\u002Ftr\u002Fcommand-tasarim-deseni-nedir","Command",[72,169,170],{},[15,171,173],{"href":172},"\u002Ftr\u002Fiterator-tasarim-deseni-nedir","Iterator",[72,175,176],{},[15,177,179],{"href":178},"\u002Ftr\u002Fmediator-tasarim-deseni-nedir","Mediator",[72,181,182],{},[15,183,185],{"href":184},"\u002Ftr\u002Fmemento-tasarim-deseni-nedir","Memento",[72,187,188],{},[15,189,191],{"href":190},"\u002Ftr\u002Fobserver-tasarim-deseni-nedir","Observer",[72,193,194],{},[15,195,197],{"href":196},"\u002Ftr\u002Fstate-tasarim-deseni-nedir","State",[72,199,200],{},[15,201,203],{"href":202},"\u002Ftr\u002Fstrategy-tasarim-deseni-nedir","Strategy",[72,205,206],{},[15,207,209],{"href":208},"\u002Ftr\u002Ftemplate-method-tasarim-deseni-nedir","Template Method",[72,211,212],{},[15,213,215],{"href":214},"\u002Ftr\u002Fvisitor-tasarim-deseni-nedir","Visitor",{"title":217,"searchDepth":218,"depth":218,"links":219},"",2,[220,221,222],{"id":28,"depth":218,"text":29},{"id":45,"depth":218,"text":46},{"id":58,"depth":218,"text":59,"children":223},[224,226,227],{"id":66,"depth":225,"text":67},3,{"id":104,"depth":225,"text":105},{"id":152,"depth":225,"text":153},[229],"technical",null,"2021-07-24","Bu içerik ağırlıklı olarak refactoring.guru sitesindeki içeriğin tercümesi ve derlenmesinden oluşturulmuştur.…",false,"md","\u002Fimages\u002Fposts\u002F2021\u002F07\u002Fpatterns-011.avif","tr",{},true,"\u002Ftr\u002Fdesign-patterns-tasarim-desenleri-nedir",{"title":6,"description":232},"design-patterns-tasarim-desenleri-nedir","tr\u002Fdesign-patterns-tasarim-desenleri-nedir",[244,245,246],"design-patterns","tasarim-desenleri","tasarim-kaliplari","Fz0RSFIKOwBHro-6yXBuf3v85WbvhkC_euvnhJmU4bo",{"prev":249,"next":252,"others":254,"lucky":364,"readingTime":218},{"path":250,"title":251},"\u002Ftr\u002Fapi-gateway-nedir","API Gateway Nedir? Ne İşe Yarar?",{"path":76,"title":253},"Factory Method Tasarım Deseni Nedir?",[255,258,261,264,267,269,271,273,276,279,282,285,288,291,294,297,299,301,304,306,309,312,314,316,319,322,325,328,331,334,337,340,343,345,347,350,353,356,359,361],{"path":256,"title":257},"\u002Ftr\u002Fes15-nedir-ecmascript-2024-nedir","ES15 nedir? ECMAScript 2024 nedir?",{"path":259,"title":260},"\u002Ftr\u002Fes14-nedir-ecmascript-2023-nedir","ES14 nedir? ECMAScript 2023 nedir?",{"path":262,"title":263},"\u002Ftr\u002Fgo-veri-tipleri-struct","Go Veri Tipleri: Struct",{"path":265,"title":266},"\u002Ftr\u002Ftricolor-garbage-collection-algoritmasi-nedir","Tricolor Garbage Collection Algoritması Nedir?",{"path":160,"title":268},"Chain of Responsibility Deseni Nedir?",{"path":190,"title":270},"Observer Tasarım Deseni Nedir?",{"path":208,"title":272},"Template Method Tasarım Deseni Nedir?",{"path":274,"title":275},"\u002Ftr\u002Fnext-js-on-bellegi-nasil-yenilenir-on-demand-cache-regeneration","Next.js Önbelleği Nasıl Yenilenir? \"On-Demand Cache Regeneration\"",{"path":277,"title":278},"\u002Ftr\u002Fwordpress-yonetici-sifresini-wp-cli-kullanarak-sifirlama","WordPress Yönetici Şifresini WP-CLI Kullanarak Sıfırlama",{"path":280,"title":281},"\u002Ftr\u002Ftailwind-css-nerede-kullanilir-tailwind-css-nerede-kullanilmaz","Tailwind CSS Nerede Kullanılır? Tailwind CSS Nerede Kullanılmaz?",{"path":283,"title":284},"\u002Ftr\u002Fphp-generator-ve-iterator-farki","PHP'de Generator ve Iterator Arasındaki Temel Farklar",{"path":286,"title":287},"\u002Ftr\u002Fgo-veri-tipleri-string-integer-float-complex-boolean-ve-array","Go Veri Tipleri - String, Integer, Float, Complex, Boolean ve Array",{"path":289,"title":290},"\u002Ftr\u002Fes6-nedir-ecmascript-2015-nedir","ES6 Nedir? ECMAScript 2015 Nedir?",{"path":292,"title":293},"\u002Ftr\u002Fecmascript-nedir-ecmascript-ne-degildir-bilinmesi-gerekenler","ECMAScript Nedir? Bilinmesi Gerekenler...",{"path":295,"title":296},"\u002Ftr\u002Fgo-slice-veri-tipi","Go Veri Tipleri: Slice",{"path":130,"title":298},"Decorator Tasarım Deseni Nedir?",{"path":148,"title":300},"Proxy Tasarım Deseni Nedir?",{"path":302,"title":303},"\u002Ftr\u002Fearly-return-erken-donus-nedir","Early Return \u002F Erken Dönüş nedir?",{"path":196,"title":305},"State Tasarım Deseni Nedir?",{"path":307,"title":308},"\u002Ftr\u002Fgo-ve-degiskenler","Go ve Değişkenler",{"path":310,"title":311},"\u002Ftr\u002Fgarbage-collection-ve-golang","Garbage Collection ve Go (Golang)",{"path":136,"title":313},"Facade Tasarım Deseni Nedir?",{"path":166,"title":315},"Command Tasarım Deseni Nedir?",{"path":317,"title":318},"\u002Ftr\u002Fheadless-wordpress-hakkinda-her-sey","Headless WordPress Hakkında Her Şey",{"path":320,"title":321},"\u002Ftr\u002Fes13-nedir-ecmascript-2022-nedir","ES13 nedir? ECMAScript 2022 nedir?",{"path":323,"title":324},"\u002Ftr\u002Fgo-veri-tipleri-map","Go Veri Tipleri - Map",{"path":326,"title":327},"\u002Ftr\u002Fubuntu-24-04-uzerinde-cyberpanel-kurulumu","Ubuntu 24.04 LTS ve 22.04 LTS Üzerinde CyberPanel Kurulumu",{"path":329,"title":330},"\u002Ftr\u002Fes7-nedir-ecmascript-2016-nedir","ES7 Nedir? ECMAScript 2016 Nedir?",{"path":332,"title":333},"\u002Ftr\u002Fphp-ve-makine-ogrenimi-php-ml-kutuphanesi","PHP ve Makine Öğrenimi: PHP-ML Kütüphanesi ile Pratik Çözümler",{"path":335,"title":336},"\u002Ftr\u002Fes8-nedir-ecmascript-2017-nedir","ES8 Nedir? ECMAScript 2017 Nedir?",{"path":338,"title":339},"\u002Ftr\u002Flinuxda-golang-kurulumu","Linux'ta Golang Kurulumu",{"path":341,"title":342},"\u002Ftr\u002Fes16-nedir-ecmascript-2025-nedir","ES16 nedir? ECMAScript 2025 nedir?",{"path":142,"title":344},"Flyweight Tasarım Deseni Nedir?",{"path":124,"title":346},"Composite Tasarım Deseni Nedir?",{"path":348,"title":349},"\u002Ftr\u002Fes11-nedir-ecmascript-2020-nedir","ES11 Nedir? ECMAScript 2020 Nedir?",{"path":351,"title":352},"\u002Ftr\u002Fopenlitespeed-ve-litespeed-enterprisei-reverse-proxy-olarak-kullanmak","OpenLiteSpeed ve LiteSpeed Enterprise Sunucularını Reverse Proxy Olarak Kullanmak",{"path":354,"title":355},"\u002Ftr\u002Ftemiz-moduler-ve-yeniden-kullanilabilir-php-kodu-yazma-rehberi","PHP'de Temiz, Modüler ve Yeniden Kullanılabilir Kod Yazma Rehberi",{"path":357,"title":358},"\u002Ftr\u002Fself-hosted-api-gateway-nasil-kurulur-kapsamli-rehber","Self-Hosted API Gateway Nasıl Kurulur? Kapsamlı Rehber",{"path":202,"title":360},"Strategy Tasarım Deseni Nedir?",{"path":362,"title":363},"\u002Ftr\u002Fes10-nedir-ecmascript-2019-nedir","ES10 Nedir? ECMAScript 2019 Nedir?",{"path":214,"title":365},"Visitor Tasarım Deseni Nedir?",[367,370,373,376],{"path":112,"title":368,"date":369},"Adapter Tasarım Deseni Nedir?","2021-08-21",{"path":88,"title":371,"date":372},"Builder Tasarım Deseni Nedir?","2021-08-03",{"path":82,"title":374,"date":375},"Abstract Factory Tasarım Deseni Nedir?","2021-07-27",{"path":76,"title":253,"date":231},[378,380,382],{"path":265,"title":266,"date":379},"2021-10-01",{"path":348,"title":349,"date":381},"2021-10-19",{"path":383,"title":384,"date":385},"\u002Ftr\u002Fjwt-guvenli-mi-guvenlik-acigi-olusturmayin","JWT Güvenli Derken Güvenlik Açığı Oluşturmayın","2021-01-08",1782142076586]