Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Design Patterns

Design Patterns – Template Metot Pattern Nedir?

Paylaş

Bu yazıda Template Methot Design Pattern’in ne olduğundan bahsedeceğim.

İçindekiler

Toggle
  • Uygulama Örneği

İlgini Çekebilir: Design Patterns Dersleri

Template Methot Design Pattern sıralı işlemlerin kullanımında uygulayabileceğimiz bir tasarım şablonudur. Bu sıralı işlemlerin seçilmesini sağlayan bir abstract class oluşturuyoruz. Bu abstract classımız diğer classlarımıza gerekli işlemlerin yapılmasını sağlayan bir yönetim görevi sağlayacaktır.

Uygulamamızda benzer kodların farklı case’ler ile bazı akışın değişmesini bu dizayn pattern ile çözebiliyoruz. Aynı kod bloklarının farklı kriterlere göre belirli akışları değişip ve aynı bağlama geldiği bir iş akışında rahatlıkla kullanabiliriz ve kod tekrarının önüne geçerek yönetimini oldukça kolaylaştırabiliriz.

  • Ana akış abstract classımızda
  • Ana akışa bağlı dallanan diğer claslarımız abstract class’tan implement edilir.

Bu yaklaşımın bir diğer artısı ise aynı kod parçacıklarının tekrar tekrar kullanılabilmesini ve genişletilebilmesini sağlamaktadır.

Uygulama Örneği

Bir demleme yazılımı yapacağız. Demleme yazılımında çay ya da kahve demleme yöntemleri olucak. Çay ya da kahve demlerken aynı olan adımları abstract classlarımızdan sub classlar oluşturacağız.

public abstract class Demle {

    final void hazirla() {
        suKaynat();
        demle();
        bardagaDok();
        diger();
    }

    private void suKaynat() {
        System.out.println("Su Kaynatıldı");
    }

    protected abstract void demle();

    private void bardagaDok() {
        System.out.println("Bardağa Döküldü");
    }

    protected abstract void diger();
}Code language: PHP (php)

Yukarıdaki abstract classımızda kahve ve çay için ortak olan akışları ana classımızda oluşturuyoruz.

public class Kahve extends Demle {

    private void sutEkle() {
        System.out.println("Sut Eklendi");
    }

    private void kahveDemle() {
        System.out.println("V60 ile demleniyor");
    }

    @Override
    protected void demle() {
        kahveDemle();
    }

    @Override
    protected void diger() {
        sutEkle();
    }
}Code language: PHP (php)

Kahve demlerken, kahveye özel adımları kendi sınıf içerisinde yazdık ve Demle ana classımızın adımlarını da kullanıyoruz.

Çay içinde aynı adımları kullanacağız ama ortak olanları yine Demle ana classımızdan alıyoruz.

public class Cay extends Demle {

    private void seker() {
        System.out.println("Şeker eklendi");
    }

    private void cayDemle() {
        System.out.println("Çayı bekle");
    }

    @Override
    protected void demle() {
        cayDemle();
    }

    @Override
    protected void diger() {
        seker();
    }
}Code language: PHP (php)

Yukarıdaki örnekte görüldüğü gibi aynı akışın farklı dallarına göre verilen karar mekanızmalarında kullanılan bu desing pattern örneği bu şekildeydi.

İyi kodlamalar.

Tags:

design patterntemplate metot pattern

Paylaş

Diğer Yazılar

Spring Boot GraphQL API Kullanımı
Previous

Spring Boot GraphQL API Uygulama Örneği #1

Spring Cloud Dersleri
Next

Spring Cloud Eureka Discovery Server’a Register Olmak

Next
Spring Cloud Dersleri
01 Ağustos 2022

Spring Cloud Eureka Discovery Server’a Register Olmak

Previews
24 Temmuz 2022

Spring Boot GraphQL API Uygulama Örneği #1

Spring Boot GraphQL API Kullanımı

No Comment! Be the first one.

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

blank

Design Patterns – Builder Pattern Nedir?

blank

Design Patterns – Prototype Pattern Nedir?

blank

Design Patterns – Singleton Pattern Nedir?

blank

Design Pattern – Factory Pattern Nedir?

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Node.js
Java 24
Android
Struts
Röportaj
Gradle
Amazon Web Services
Vue.js
Video
Redis
Spring Boot 3.0
Debezium
Mikroservis Mimarisi
Spring Native
Spring Cloud Stream
Etkinlikler
XCode
JPA
Objective C
iPhone Uygulama Geliştirme
PostgreSQL
Spring Security
MongoDB
Java 21
Spring Data
Apache Kafka
Yaptığım Projeler
Servlet
Git
Maven
Design Patterns
DevOps
Linux
Spring Jdbc Template
RabbitMQ
JDBC
PrimeFaces
Manset
Google
Spring
Spring MVC
Spring Cloud
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Java SE
Tanıyalım
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale