Design Patterns
Published in

Design Patterns

TASARIM ÖRÜNTÜLERİ

Decorator

Structural Patterns bir örneği olan Decorator örüntü mevcut tasarımınızda herhangi bir sınıfınızın yaptığı iş yeterli olmadığı ve sınıfınıza yeni fonksiyonlar eklemeniz gerektiği durumda aynı arayüzü koruyarak ve mevcut sınıfları ve algoritmaları değiştirmeden bu eklemeyi nasıl yapabilirsiniz.

Hangi Durumda

Not* Decorator pattern uygulamalarda sıkça kullanmak zorunda kaldığım örüntülerden birisidir.

Yapısı

Decorator

Örnek

Aşağıda örnekte görüldüğü gibi Shape arayüzünün görevi ilgili draw() fonksiyonunu çağırarak çiziminin sağlanmasıdır. Biz buna RedBorder ekstre özelliği kazandırmak ister isek. Önümüzde 2 seçenek bulunmaktadır.

  • Shape sınıfını güncellemek
  • Shape interface türeyen Decorator oluşturup bu fonksiyonu Decorator içerisinde gerçekleştirmek.

Kod

Burada İstediğimiz Shape sınıfını oluşturup bunu RedShapeDecorator verdiğimizde , artık RedShapeDecorator üzerinden draw kodunu çağırabiliriz.

Decorator Code

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store