Design Patterns Nedir?

Bugs Bunny

Uzman üye
29 Tem 2016
1,484
30
MSFVenom
Herkese merhaba TurkHackTeam üyeleri,

Ben Uchiha-Sasuke

Bu konumda sizlere Design Patterns'in ne olduğundan bahsedeceğim.


giphy.gif



Design Patterns (Tasarım Kalıpları)

KgtlPH.gif


Design Patterns (Tasarım Kalıpları), çokça karşılaştığımız ve birbirine benzeyen sorunları halletmek için yapılmış esnek kalıplara verilen isimdir.

Nesne odaklı programlama uygulamalarında, programlama dili farketmezsizin; sınıf ve nesneler arasındaki ilişkilerin nasıl olmalarının gerektiğini anlatan yöntemlere verilen isimdir.

Design Patterns (Tasarım Kalıpları) belli başlı olmak üzere 3 ana gruba ayrılır;

GhF5g2.png


1) Structural Design Patterns (Yapısal Tasarım Kalıpları)

Structural Design Patterns (Yapısal Tasarım Kalıpları) tamamen nesne ile sınıf organizasyonuyla ilgilidir.

Yapısal sınıf oluşturma kalıpları, arayüzü yapmak için kalıtım'ı kullanmaktadır.

Yapısal nesne kalıpları, yenilik yapmak için nesne oluşturma yollarını tanımlamaktadır.

Adapter: Ayrı sınıfların eşleme arayüzlerine verilen isimdir.

Bridge: Nesnenin arayüzünü uygulamasından ayırmakla görevlidir..

Composite: Basit nesnelerin ağaç yapısına verilen isimdir.

Decorator: Nesnelere dinamik(devimsel) olacak şekilde sorumluluk eklemesine verilen isimdir.

Facade: Her bir alt sistemi temsil eden tek bir sınıfa verilen isimdir.

Flyweight: Verimli paylaşım(aktarım) için kullanılan bir örnektir.

Private Class Data: Erişimi kısıtlamakla görevlidir.

Proxy: Başka bir nesneyi temsil eden nesneye verilen isimdir.


2) Behavioral Design Patterns (Davranışsal)

Sorun odaklı nesneler arası ortak iletişimi en iyi şekilde kurmamıza öneriler vermekle görevlidir.

Chain of responsibilit : Bir nesne zinciri arasında istek aktarmanın bir yoludur.

Command: Bir komut isteğini nesne olarak ayırmakla görevlidir.

Interpreter: Bir programa dil öğelerini dahil etmenin bir yoludur.

Iterator: Bir koleksiyonun öğelerine sırayla eriştirmekle görevlidir.

Mediator: Sınıflar arasındaki basitleştirilmiş haberleşmeyi tanımlamakla görevlidir.

Memento: Bir nesnenin dahili durumunu yakalama ve geri yüklemekle görevlidir..

Null Object: Bir nesnenin varsayılan değeri olarak çalışmak üzere tasarlanmıştır.

Observer: Bazı sınıflardaki değişikliği bildirmenin bir yoludur.

State: Bir nesnenin durumu değiştiğinde davranışını değiştirmekle görevlidir.

Strategy: Sınıf içindeki bir algoritmayı içine almakla görevlidir.

Template method: Bir algoritmanın tam adımlarını bir alt sınıfa ertelemekle görevlidir.

Visitor: Değişiklik olmadan bir sınıfa yeni bir işlem(görev) tanımlamakla görevlidir.

3) Creational Design Patterns (Yaratıcı)

Creational Design Patterns (Yaratıcı) tamamen sınıf örneklemesi ile ilgilenmektedir.

Creational Design Patterns (Yaratıcı) ayrıca sınıf oluşturma örüntülerine ve nesne oluşturma örüntülerine ayrılabilmektedir.

Abstract Factory: Bir veya birden fazla sınıf ailesinin bir örneğini oluşturmakla görevlidir.

Builder: Nesne yapısını temsilinden ayırmakla görevlidir.

Factory Method: Birkaç türetilmiş sınıfın örneğini oluşturmakla görevlidir.

Object Pool: Bir vakitten sonra kullanılmayan nesneleri geri dönüştürerek pahalı kaynaklardan kurtulmak ve kaynakları serbest bırakmak için kullanılır.

Prototype: Kopyalanacak bir örnek oluşturmakla görevlidir.

Singleton: Yalnızca tek bir örneği olan bir sınıfa verilen isimdir.



Bu konumunda burda sonuna gelmiş bulunmaktayım.

Uchiha iyi günler diler.

oKEKz1.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.