Code Monkey home page Code Monkey logo

designpatterns's Introduction

Bu projede Design Patterns konusu ele alınmış ve en çok kullanıldığı değerlendirilen 6 pattern örneği uygulaması yapılmıştır. Aşağıda özet olarak Design Pattern'lara değinilmiştir. Standart olarak kabul edilmiş 23 disayn patternların ayrıntıları için GitBook sayfamı ziyaret edebilirisiniz. GitBook/RıdvanORUN

DESING PATTERNS

Design patterns; bir yazılım projesinden sıklıkla karşılaştığımız benzer sorunlar üzerinden yola çıkarak Code Optimization'ı en iyi şekilde yapabilmemizi sağlayan yapılardır. Bir design pattern, doğrudan koda dönüştürülebilen bitmiş bir tasarım değildir.

Foto1

Desing Patterns 3 ana başlık altında incelenir;

1. Creational (Oluşturucu) tasarım desenleri

Nesnelerin nasıl yaratılacağı hakkında öneriler sunar. 5 temel uygulama biçimi vardır.3 örnek uygulama yapılmıştır.

Foto2

1.1.Singleton Pattern Uygulamanın yaşam süresince bir nesnenin bir kez oluşturulmasını sağlar. Nesnenin sadece bir defa oluşturulmasını öngören bir mekanizma kurulmak istenildiğinde etkin bir biçimde kullanılabilen bir tasarım desenidir.

1.2.Builder Pattern Birden fazla parçadan oluşan nesnelerin üretilmesinden sorumludur. Tek ara yüz kullanarak karmaşık bir nesne grubundan gerektiğince parça yaratılmasını sağlar.

1.3.Factory Pattern Aynı arayüzü kullanan nesnelerin üretiminden sorumludur. Nesnenin nasıl yaratılacağını kalıtım yoluyla alt sınıflara bırakıp nesne yaratımı için tek ara yüz kullanarak, ara yüzle nesne yaratım işlevlerini temelde birbirinden ayırmaya yarayan yaratımsal tasarım kalıbıdır.

2. Structural (Yapısal) tasarım desenleri.

Sınıflar arasındaki ilişkileri belirleme önerileri sunar, Nasıl türetilmeli, hangi nesneleri içermeli, sınıflar birbirlerini nasıl bağlı olmalı gibi soruların cevaplarını yanıtlar.7 temel uygulama biçimi vardır. 1 örnek uygulaması yapılmıştır.

Foto3 2.1.Decorator Pattern Bir yapıya dinamik olarak yeni metotlar eklenmesini düzenler. Dekoratör kalıp uygulamada runtime esnasında bir sınıfın işlevlenebilirliğinin genişletilmesini veya başka bir deyişle yeniden dekore edilebilmesini mümkün kılar. Bunu yaparken dekoratör kalıpları orjinal sınıfları kapsayan yeni dekorator sınıfları üreterek yaparlar.

3. Behavioral (Davranışsal) tasarım desenleri

Soruna göre nesneler arası ortak haberleşmeyi en iyi şekilde kurmamıza öneriler sunar. 11 temel uygulama biçimi vardır. 2 örnek açıklaması yapılmıştır. Foto4 3.1.Chain Of REsponsibility Pattern Sorumluluk zinciri kalıbı sisteme gönderilen bir isteğin (komut) hangi nesne tarafından cevaplanması gerektiğini bilmediğimiz durumlarda ya da isteği yapan nesne ve servis sağlayan nesne arasında sıkı bir bağ oluşmasını engellememiz gerektiğinde kullanılmaktadır.

3.2.Oberver Pattern Uygulama içerisinde bir nesnede meydana gelen değişikliklerden haberdar olup üzerinde belli metotları çalıştırıp değişlikler yapmak isteyen diğer nesneler bulunabilmektedir.

designpatterns's People

Contributors

ridvanorun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.