İçerikler :

Adapter Tasarım Şablonu Bridge Tasarım Şablonu Builder Tasarım Şablonu Chain of Responsibility Tasarım Şablonu Command Tasarım Şablonu Composite Tasarım Şablonu Coupling Decorator Tasarım Şablonu Decoupling Dependency Injection - DI En Önemli Tasarım Şablonları Facade Tasarım Şablonu Factory Tasarım Şablonu Flyweight Tasarım Şablonu Hollywood Principle - Hollywood Prensibi Interpreter Tasarım Şablonu Inversion of Control - IoC Inversion of Control - IoC ile Dependency Inj.. Iterator Tasarım Şablonu Loosely Coupled - Loosely Coupling - Lov Coup.. Mediator Tasarım Şablonu Memento Tasarım Şablonu MVC - Model-View-Controller Observer Tasarım Şablonu Prototype Tasarım Şablonu Proxy Tasarım Şablonu Separation of Concerns - SoC Singleton Tasarım Şablonu State Tasarım Şablonu Strategy Tasarım Şablonu Tasarım Şablonları İle İlgili Bilgiler (İngil.. Tasarım Şablonu (Design Pattern) Template Method Tasarım Şablonu Visitor Tasarım Şablonu

Bu Sayfayı Paylaş:

Kavram

Tasarım Şablonu (Design Pattern)

Tanım: Bir yazılımda belirli bir amacı gerçekleştirmek için en basit ve en doğru çözümü gerçekleştirmenizi sağlayan şablon. Bu şablondaki tasarıyı kullanarak amacınıza daha doğru ve hızlı bir şekilde ulaşabilirsiniz.

Kavram

Builder Tasarım Şablonu

Tanım: Çok farklı özellikleri olan sınıfların nesnelerin oluşturma sürecini basitleştirmek ve kolaylaştırmak için kullanılan tasarım şablonu.

Kavram

Prototype Tasarım Şablonu

Tanım: Bir sınıftan (class) yaratılmış bir nesneden kopyalanarak yeni nesneler üretmeyi sağlayan tasarım şablonu. Yeni bir nesne yaratmanın çok iş yükü getirdiği sınıflarda bu yöntem kullanılabilir.

Kavram

Adapter Tasarım Şablonu

Tanım: Bir sınıfın method'larını , kullanmak isteyen başka bir sınıf için kullanılabilir hale getirmeye yarayan tasarım şablonudur

Kavram

Decorator Tasarım Şablonu

Tanım: Bir class'ı extend etmeden ek özellikler eklemek için kullanılan tasarım şablonudur. Bu şekilde çok sayıda class'a benzer özellik kazandırılabilir.

Kavram

Proxy Tasarım Şablonu

Tanım: Bir class'a erişimlerin vekil (proxy) class'ları ile yapılmasını sağlayan tasarım şablonu. Bu şekilde class'a erişimler denetlenebilir veya başka işlemler yapılabilir.

Kavram

Bridge Tasarım Şablonu

Tanım: Aynı interface (arayüz) ile farklı sistemlerde çalışacak class'ların geliştirilmesi için kullanılan tasarım şablonu. Bu şekilde aynı yapı farklı sistemler için uygulanabilmektedir.

Kavram

Composite Tasarım Şablonu

Tanım: Birden fazla aynı class tipinden nesneler barındıran class'ları (hiyerarşik yapıya sahip, parça-bütün şeklindeki class'lar) kolay bir şekilde yönetmeyi sağlayan tasarım şablonu

Kavram

Flyweight Tasarım Şablonu

Tanım: Bir uygulamada daha az nesne yaratılmasını (yeni bir nesne yaratmak yerine yaratılmış nesnelerden kopya oluşturulur) sağlayan tasarım şablonu

Kavram

Command Tasarım Şablonu

Tanım: Belirli bir işlem içeren kodların (method) bir nesne haline getirip istenildiği zaman çağrılabilir olması için kullanılan tasarım şablonudur. Bu şekilde işlemler bir "komut" şeklinde getirilmekte ve istenildiği zaman çağrılmakta veya geri alınabilmektedir.

Kavram

Memento Tasarım Şablonu

Tanım: Bir nesnenin herhangi bir zamandaki durumlarının saklanıp, daha sonra tekrar o duruma geri getirilebilmesi için kullanılan tasarım şablonudur. Örneğin undo-redo bu tür bir tasarım şablonu ile yapılmaktadır.

Kavram

State Tasarım Şablonu

Tanım: Bir nesnenin durumuna göre davranışının (methodlarının farklı çalışması) farklı olmasını sağlayan tasarım şablonudur.

Kavram

Observer Tasarım Şablonu

Tanım: Bir nesnenin durumunda değişiklik olduğu zaman (bir olay veya veri değişikliği vs..) bir veya birden fazla kod bloğunun çalışmasını sağlayan tasarım şablonu.

Kavram

Strategy Tasarım Şablonu

Tanım: Aynı görevin veya işlevin birden fazla yapılış şekli olduğu durumlarda hangi yöntemin kullanılacağının karar verilmesini ve o yönetimin kullanılmasını sağlayan tasarım şablonudur.

Kavram

Chain of Responsibility Tasarım Şablonu

Tanım: Bir istek (veya komutun) birden fazla işleyici class'a sırayla verilmesi ile işleyici class'ın tespit edildiği tasarım şablonudur. İşleyici class'lar sıra ile (zincir şeklinde) çağrılır ve işlemesi gereken class tespit edildiğinde bir sonraki işleyici class çağrılmaz ve zincir sona erer.

Kavram

Mediator Tasarım Şablonu

Tanım: Farklı class'ların birbirlerini kullanmadan veya bilmeden iletişim kurmalarını sağlayan tasarım şablonu. İletişi aracı bir class üzerinden sağlanmaktadır.

Kavram

Interpreter Tasarım Şablonu

Tanım: Bir dil ile yazılmış bir yazıyı değerlendirmek ve işlemek için kullanılan tasarım şablonudur. Dili işleyebilmek için her sembole bir class yaratılır.

Kavram

Visitor Tasarım Şablonu

Tanım: Sınıf hiyerarşisindeki class'larda değişiklik yapmadan bu sınıflara yeni bir method eklemek için kullanılan tasarım şablonudur.

Kavram

Template Method Tasarım Şablonu

Tanım: Bir algoritmada çağrılacak methodların soyut olarak tanımlanması nedeniyle aynı algoritmanın farklı şekillerde işlenmesini sağlayan tasarım şablonudur. Bu tasarımda algoritma şablon halinde tanımlanır.

Kavram

Singleton Tasarım Şablonu

Tanım: Bir uygulamada bir sınıfın (class) uygulama boyunca sadece tek bir nesnesinin (instance) yaratılması ve her zaman aynı nesnenin kullanımasını sağlayan tasarım şablonu

Kavram

Factory Tasarım Şablonu

Tanım: Bir class veya interface'i implement etmiş (türemiş) birden fazla farklı class'lardan hangisinin üretileceğine karar verip uygun nesneyi oluşturmak için kullanılan tasarım şablonu. Factory olarak kullanılan sınıf verilen bilgiye göre uygun olan class'ın nesnesini yaratır ve o nesneyi döndürür.

Kavram

Facade Tasarım Şablonu

Tanım: Birden fazla class veya yazılım koduna tek bir sınıf üzerinden erişilmesini sağlayan tasarım şablonudur. Bu tek sınıf sayesinde diğer sistemlerden bağımsız kod yazılabilmektedir.

Kavram

Iterator Tasarım Şablonu

Tanım: Bir liste yapısında saklanan nesnelerin kendisi veya saklanış biçimi hakkında bilgi olunmamasına rağmen liste üzerinde sırayla gezinebilmeyi, listeye elaman eklemeyi veya elaman silmeyi sağlayan tasarım şablonu.

Kavram

MVC - Model-View-Controller

Tanım: Bir yazılım arayüzünde, kullanıcı etkileşimleri ile görünümün (sunum katmanının) birbirlerinden bağımsız çalışmasını sağlayan tasarım şablonudur. Kullanıcı tarafından yapılan bir etkileşim , Controller aracılığıyla Model'e iletilir ve Model ise arayüzün (View) kullanıcıdan gelen isteğe göre yenilenmesini sağlar

Kavram

Separation of Concerns - SoC

Tanım: Yazılımda işlev ve özelliklerine göre programlama kodlarını (class, fonskyion vb..) birbirinden ayırma veya soyutlama. Yazılımda bir çok tasarım şablonunun temel prensibi budur

Veri

En Önemli Tasarım Şablonları

Tasarım şablonları (Design Pattern) üç ana gruba ayrılabilir. 

  • Oluşturucu Şablon (Creational Patterns) : Nesne yaratılma modeli ile ilgili şablonlar. (Builder, Factory Method, Prototype, Singleton vs..)
  • Yapısal Şablon (Structural Patterns) : Bir class veya interface yapısının oluşturulması ile ilgili tasarımlar (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy vs..)
  • Davranışsal Şablon (Behavioral Patterns) : Nesnelerin davranışları ve diğer nesneleri ile ilişkileri ile ilgili şablonlar (Chain of Resp., Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor vs..)

Kaynak

Tasarım Şablonları İle İlgili Bilgiler (İngilizce)

Tüm tasarım şablonları ile ilgili bilgilerin ayrı sayfalarda gösterildiği site (İngilizce)

Kavram

Coupling

Tanım: Bir yazılımda, fonksiyon, method, sınıf ve modüllerin , birbirine olan bağımlılıkları. Bir yazılımda fonksiyon, method, sınıf ve modüllerin olabildiğince bağımsız olmasına loose coupling (düşük bağımlılık - lov coupling) adı verilir ve yazılımın kalitesini göstermektedir

Kavram

Loosely Coupled - Loosely Coupling - Lov Coupling

Tanım: Bir yazılımda fonksiyon, method, sınıf ve modüllerin birbirinden olabildiğince bağımsız olması. Bu değer yazılımın kalitesini gösteren özelliklerden biri olarak kabul edilmektedir.

Kavram

Decoupling

Tanım: Bir yazılımda fonksiyon, method, sınıf ve modüllerin birbirine olan bağımlığını azaltılması. Bir yazılımda fonksiyon, method, sınıf ve modüllerin olabildiğince bağımsız olmasına loose coupling (düşük bağımlılık - lov coupling) adı verilir ve yazılımın kalitesini göstermektedir

Kavram

Inversion of Control - IoC

Tanım: Bir yazılımda, nesne yaratma ve buna benzer akış kontrolünün , programcıya veya yazılım bölümüne değil, çalışılan ortama, framework'e veya genel bir kütüphaneye bırakılması şeklindeki yöntem. Bu yöntem, nesnelerin birbirine bağımlılığını azaltmakta ve daha modüler kodların yazılması sağlamaktadır

Kavram

Hollywood Principle - Hollywood Prensibi

Tanım: Bir yazılımda, nesne yaratma ve buna benzer akış kontrolünün , programcıya veya yazılım bölümüne değil, çalışılan ortama, framework'e veya genel bir kütüphaneye bırakılması şeklindeki yöntem. Inversion of Control - IoC'ın diğer bir adlandırmasıdır. Bu ifadeye, Hollywood filmlerinde geçen "don't call us we will call you" cümlesinden dolayı Hollywood prensibi adı verilmiştir

Kavram

Dependency Injection - DI

Tanım: Bir sınıf içine, başka bir fonksiyon, method, sınıf ve modüllerin, bağımlılık yaratmayacak şekilde inject edilmesi (zerk edilmesi). Dependency Injection, Inversion of Control - IoC prensibini sağlamak için kullanılan bir yöntemdir

İpucu

Inversion of Control - IoC ile Dependency Injection - DI Farkı

Inversion of Control (IoC) ile Dependency Injection (DI) zaman zaman karıştırılan iki kavramdır.
Inversion of Control - IoC daha genel bir kavramdır ve bir yazılımda, nesne yaratma ve buna benzer akış kontrolünün , programcıya veya yazılım bölümüne değil, çalışılan ortama, framework'e veya genel bir kütüphaneye bırakılması anlamına gelmektedir. Dependency Injection (DI) ise Inversion of Control - IoC'ın kullandığı yöntemlerden biridir. Dependency Injection (DI) ise bir yere bir nesne ve modülün nasıl inject edileceğini (zerk etmek) belirten bir yöntemdir.
Dependency Injection (DI) , Inversion of Control (IoC) sağlamak için kullanılan yöntemlerden biridir. Inversion of Control (IoC) farklı teknolojiler ve yöntemlerle de sağlanabilir (örneğin event , listener).




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir